Delete merged branches automatically
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Proposal
Provide a configuration option, on project and group level, to delete branches that are merged. The group option would propagate to sub-groups and projects unless overridden there.
Currently, the same effect can be achieved by periodically calling https://docs.gitlab.com/ee/api/branches.html#delete-merged-branches, but there are several caveats making this impractical:
- External automation triggered periodically is needed. It needs to be set-up, maintained, run somewhere and monitored for failures.
- The automation needs to be invoked repeatedly for potentially large number of projects / groups. Api permits listing the projects, of course, but that further adds complexity to said automation.
- A service account needs to exist to permit the API call. This poses a security risk in case it gets leaked, as the minimal permissions needed permits other operations as well.
- The service account forced expiration period requires repeated attention to this aspect of repository management. IOW, at least once a year someone have to renew the token just so the merged branches do not accumulate.
Having said that, I propose a configuration option to, well, take care of that :P.
This can be implemented in 2 fashions:
- After branch merging, evaluate applicability and delete the branch. (If project/group configured to do so, if not protected, etc.)
- Periodically, trigger the existing operation to Delete Merged Branches on all projects/groups configured to do so.
Edited by 🤖 GitLab Bot 🤖