MR approvers and branch permission based on repo path - code owners
Description
Allow administrators to define MR approvers and/or protected branch permissions based on repo paths. Large organizations with thousands of repos need to be able to configure them programmatically. To do so by hand is unmanageable.
Customer requests the ability to set the policy of who should review merge requests (or perhaps push to a branch) based on paths.
- This is needed at project setup time to...
- Automate setup of MR approvers
- Enforce sensible defaults
- Allow users to self-service creation of projects with less administrative assistance
GitHub has a similar feature called "Code owners"
Currently there is no GitLab API setting for configuration MR approvals that would allow any of this to be able to be done via a web hook. While that approach might work, the method defined here is seen as being far superior.
Proposal
Use a file or files, similar to how templates are implemented, to allow MR and branch permissions to be defined based on repository paths.
- When a project gets created add the containing group to the default set of permissions.
- Fallback (default) should be configurable such that permission is granted to a pre-defined group.
Links / references
https://github.com/blog/2392-introducing-code-owners https://gitlab.com/gitlab-org/gitlab-ee/issues/2962 https://gitlab.com/gitlab-org/gitlab-ee/issues/183
/vv: @victorwu