Allow users to select who should be approving a deployment
Problem
There are a few concerns related to notifying users without a flow for the requesting user to select approves:
- We create TODO items to all of the users who have an approval permission. For example, the
production
environment requires one approval from@security-group
with 100 team members. In this case, we create 100 TODOs where only one of them needs to approve i.e. 99 becomes noise. - The deployment executor needs to ping to approvers at the ideal moment. For example, when 100 different versions of deployments are created but only the latest one is to be executed, the deployment executor wants the approvers to take an action on the latest deployment only. However, in this issue, TODOs are created for each created deployment, even though deployment executor doesn't need them to take an action.
These issues can be resolved by the Issue-style page. When a deployment executor mentions a specific approver (or a ping to an entire group) in the deployment issue, it subsequently creates a TODO item in the pinged users. (Just like how Issues/MRs work)
User Problem
I want to be able to select who should be approving my deployment, so I can more easily collaborate with my team and inform the right people at the right time.
User experience goal
Users are able to select who should approve their deployment, so that the entire group of eligible approvers are not notified of a pending deployment approval when we implement Inform users of pending deployment approval MVC (#357026).
Proposal
During MVC of the Deployment Details page, we create a flow for the requesting user to select approvers. As we finish up https://gitlab.com/gitlab-org/ux-research/-/issues/2070/, we will have more understanding into how blocking this issue is.