Block merge request via labels

Problem to solve

Right now a maintainer can not block a merge request. It's only possible when the WIP: prefix is in the merge request title which is good for the person how develop on that branch to indicate that it is not ready for merge but not really a good solution for a maintainer. At the moment I add the WIP: prefix but it is sometimes confusing to the author. Also multiple maintainer's always have to check comments if he/she can merge which can lead to accidentally merged MR's because someone missed the right comment or something like that.

Intended users

User experience goal

Give the maintainer a handy mechanism to avoid merging "bad stuff" into the main line. If a maintainer see's a blocked merge button he/she immediately knows that is is not mergeable for now and can move on or check out what's the cause.

Proposal

It would be super handy when I can add a label which acts as blocker for the MR. It's also a nice feature for a bot because if f.e. a merge request does not follow a guideline a bot can easily add a blocking label and can also easy remove it if everything is fine again.

Further details

The feature could be implemented like the Label priority feature. A maintainer can mark on or more labels are MR blocker and the label description could be used to show a tooltip or a text bellow the merge button why this label block the merge button.

Benefits:

  • better async communication
  • higher confidence for maintainer to merge the MR
  • easier workflow
  • also good for automatic bots
  • Better difference between a work in progress and blocked by f.e. guidelines, defects, security concerns etc.

Permissions and Security

Same as Label priority

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

Adding a label, which is marked as MR blocker, blocks the merge button in a merge request.

What is the type of buyer?

Same as Label priority

Is this a cross-stage feature?

Same as Label priority

Links / references

Label priority

Edited by Michael Friedrich