Reviewer auto-assignment
Description
When an organisation has a number of reviewers for certain teams, you have situations where you may need to assign specific reviewers and there are other situations where you do not need to assign a specific reviewer. For example, if I have some css changes that I'm not sure about, I will assign @annabeldunstone
. This is not trivial once you understand everyones strengths. But, if I have some css changes that I'm 100% sure about, I might not care who the reviewer is, I just want to pick the reviewer that will be able to review and merge the MR in a timely matter, without causing them any unneeded pain. This is relatively complex.
Proposal
I propose a feature where an MR author can select an "Auto-assign" option and the assignee of an MR can be selected programatically based on a number of attributes. Primarily, the number of MRs currently assigned to the user, but this could get as complex as needed.
This would need to be configured at some user group level as ~Frontend and ~Backend have different dedicated reviewers, for example.
This would also be great for ~"Community Contribution" as OSS companies public contributors often will not know the best user for the review.
One thing to look out for is user availability. I will be writing an external script for this in the mean time that I hope to link with a company calendar to bar users that are shown as unavailable that day/week/month. This will not be a good idea for the final implementation of this feature so we may need to build "availability" into GitLab. This could be as simple as GH's 'available for hire' checkbox.