Merge concepts of assignee / assigned reviewer (and add assignee type)
Summary
Currently in GitLab Merge Requests, there are the concepts of "assignee" and "assigned reviewers".
Rather than having these 2 separate categories, there should be 1 "assignee" category with a configurable "type".
Some default types could be:
- Author
- Reviewer
Some types I would like to configure for a project:
- Authentication and Authorization reviewer
- Backend reviewer
- Backend maintainer reviewer
- Most roles found in https://gitlab-org.gitlab.io/gitlab-roulette/
Reasoning
Confusion between 2 similar concepts (assignee and assigned reviewer)
When I first started using GitLab, I found the difference between assignee
and reviewer
confusing. On several occasions, I "assigned" someone to my MR because I wanted them to review it, not realizing that these were 2 separate concepts.
"Assignee" concept seems extraneous when we use it synonymously with "Author"
Now that I know the difference between assignees and reviewers, I find it interesting that GitLab's internal workflow is for the author to assign themselves to each MR. Why not rely on the Author
attribute instead? In what scenario would we have a non-author assignee? When looking at the GitLab UI, I am always doing the mental translation of "Assigned to you == Authored by you." The extra step of asking an MR author to assign themselves the MR seems unnecessary when we already know who the author is.
Maybe one reason we do this is that we want to make it possible for non-authors to shepherd an MR through code review etc. via the "Assigned to you" menu item. If that is the case, we could automatically assign MR authors as Assignee#author
and allow additional Assignee#author
s to be created.
Additional categories would help reviewers know what to do
When I look at Merge Requests that I have been requested to review, I am sometimes unsure what type of review is being asked of me unless the MR author has specifically pinged me asking for a review. I imagine this happens even more often for GitLab team members who are able to perform backend AND frontend maintainer reviews etc. Rather than relying on the author to let reviewers know what type of review they are requesting, it would be great to build these categories into the product itself via an Assignee#type
attribute.