What can be checked?
Push | Merge | Description | |
---|---|---|---|
Commit needs issue key | AVAILABLE | AVAILABLE | A push or merge can be done only, if at least one commit of a push contains valid issue key reference |
All commits needs a issue key | AVAILABLE | AVAILABLE | A push or merge can be done only, if all commits of a push contains a valid issue key reference |
Issue status | AVAILABLE | AVAILABLE | A push or merge can be done only, if the related issue is in the configured status. The status can be configured via regular expression. |
Branch naming convention | AVAILABLE | N/A | The name of a new branch, will be checked. If a new branch do not match the naming convention, the push will be blocked. The naming convention can be configured via regular expression. |
Squash check | AVAILABLE | N/A | A push with more than one commit will be blocked. A push is only allowed, if branches contains exact one commit. If the branch contains more than one commit, the commits need to be squashed. |
Merge commit check | AVAILABLE | N/A | A push can be done only, if the push contains no merge commit. This will enforce, that merges will be done via Stash only. If a merge has been done with a different tool (e.g. SourceTree/SmartGit or simple in console) the resulting merge commit will be blocked. |
JQL check | AVAILABLE | AVAILABLE | A push or merge can be done only, if the related issue matchs a given JIRA JQL expression. |
Rebase check | N/A | AVAILABLE | Force a rebase of the source branch before a integration merge can be done. If a rebase is possible and makes sense, the merge is not allowed without rebasing the branch first. In result this check enforces the "The Rebase Option" in the following tutorial: https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview Attention It is recommended to use this option on private forks only. The rebase strategy can be used with the force push only, which could have influence to other team members. Use this strategy carefully in a public repository. See also pros and cons in this Atlassian article https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/ |
Syntax check | AVAILABLE | AVAILABLE | A push or merge can be done only, if all commits match a specified syntax. This syntax can be configured based on regular expression. |