Project members with Developer or higher permissions can approve configuration

Background

  • Currently, for a given merge request, project members with developer or higher permissions (minus the merge request author) are eligible approvers if the the number of explicit approvers is less than the set required number.
  • This is complicated logic, which is hard to explain, understand for the user, and hard to maintain and create new features, such as those discussed in https://gitlab.com/gitlab-org/gitlab-ee/issues/4738.
  • This is an unnecessary feature because we can trust users / admins of projects to properly assign approvers as necessary.
  • However, having developer+-level project members be default approvers is still a useful feature.
  • So this issue changes this into a project-level configuration that is by default, turned on.

Requirements

  • When this configuration is turned on, project members with developer or higher permissions (minus the merge request author) are eligible to approve any merge request in the project.
  • This is a project-level configuration only. So it cannot be overrided per merge request.
  • This configuration is turned on by default. So in a typical onboarding flow, when you create a new project, you will already have eligible approvers for merge requests, without having to configure them additionally.
  • There should be UI in the project config, in the approvers config area.
  • This should be added to the API.
  • This should probably be visible somewhere in the merge request itself. Not sure. Maybe we consider this in a separate issue.
Assignee Loading
Time tracking Loading