Atlassian recently introduced custom merge checks on the workspace and project level. I absolutely like this, it was a PITA to configure the same custom merge check for every repo individually.
I gave it a quick try today, as we are building a new custom merge check, and to me the implementation is either counter-intuitive or just buggy… Let me illustrate this with a simple example.
-
Turn on a custom merge check with REQUIRED on the project level:
-
Then turn on the same check with RECOMMENDED on the repo level:
I would assume that the lower level (repo) setting will override the one configured on a higher level (project). In fact, this is how it works in Bitbucket Data Center with hooks and merge checks.
Instead, there will two(!) separate checks shown for a pull request:
It means that the same criteria is both required and not, effectively required.
You can make it even worse by:
- configuring this on the workspace level which will add a third check of the same type
- using the check with “All branches” and “Main branch” variations (I think you can go up to 6 checks per PR this way?!)
- …
Is this behavior by design? I find it extremely confusing and rather inconsistent with the DC implementation.
Can someone from Atlassian comment on this?