Allow assigning MR to someone only if a pipeline succeeds : /reassign_if_pass

Problem to solve

As per GitLab's development guidelines:

Avoid:

...

Assigning merge requests with failed tests to maintainers. If the tests are failing and you have to assign, ensure you leave a comment with an explanation.

But the problem is that the tests take a long time to run sometimes and you may be not want to keep checking the MR to see if it succeeded. Additionally if you are finishing up for the day and want to get it out to the maintainer then you either need to risk assigning a failed MR to a maintainer or you need to wait until tomorrow.

Intended users

  • Sasha (Software Developer)

Anybody assigning MRs through GitLab may be effected and indeed this means anyone working at GitLab usually could have the same thing happen to them with www-gitlab-com changes.

Further details

Proposal

There should be a new slash command (or other UI) like:

/reassign_if_pass @the-maintainer

And this would only assign to the target person after the pipeline succeeds.

Permissions and Security

Same as /reassign.

Documentation

Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Links / references

Edited Oct 08, 2019 by Dylan Griffith (ex GitLab)
Assignee Loading
Time tracking Loading