Customers have installed this add-on in at least 1,646 active instances.
    by Sean Fordfor Bitbucket Server 4.0.0 - 4.10.1 and more versions
    Versions available for Bitbucket Server 2.8.2 - 3.11.6
    This add-on isn't formally supported, but you can ask a question via Atlassian Answers.

    Ask a question

    This add-on isn't formally supported, but you can ask a question via Atlassian Answers.

    Ask a question

    Data Center
    This add-on is compatible with the clustering and high-availability capabilities of our products.
    Get it nowFree add-on

    Reject commits to a repository based on configurable rules

    Reject commits to a repository based on configurable rules

    YACC Settings

    Fun And Customizable

    JIRA JQL Queries

    Yet Another Commit Checker is easily configured.

    Fun and lighthearted errors make it clear what needs to be fixed!

    Any JIRA Query can be used in YACC to validate issues.

    More details

    Yet Another Commit Checker is a Stash plugin that allows you to reject commits to a repository based on configurable rules. Its main feature is requiring commit messages to contain a valid JIRA issue, and optionally requiring issues to match a JQL query. For example, making sure issues are assigned and in progress.


    • Both global and per-repository configuration
    • Require committer name and email to match Stash user
    • Require commit messages to match regex
    • Require commit message to contain valid JIRA issue ids
    • Issue JQL matcher to validate JIRA issue against. Require issues to be assigned, not closed, in a certain project, etc. The possibilities are endless!
    • No extra JIRA configuration is required. Will use existing JIRA Application Link!
    • Validate branch names
    • Customizable errors
    • Branch friendly! Only new commits are checked. Commits that already exist in the repository will be skipped.

    See https://github.com/sford/yet-another-commit-checker for more information and source code.

    User reviews

    Sign in to write a review »
    by Wilber Saca on 2016-05-09
    This plugin is great, but I would like to ignore the validation if the user, group or branch not match a regex or condition. Do you have any plan about this?
    Was this review helpful?YesNo
    by sailakshmi on 2016-02-05
    Hi Team, The plugin is good... I need some assistance here reg this plugin. I'm facing an issue with this plugin that when the first time i commit files commenting as per the "Commit Message Rejex",commit is done. But, when i try to commit violating the comment as per the "Commit Message Rejex" field,it is blocking the commit. I'm good till here.But,the third time i try to commit with the comment as per the "Commit Message Rejex" field,am not able to push. The push is getting rejected further irrespective of the commit message given,whether it is as per the field or not. Please help me out on the mentioned issue...
    Was this review helpful?YesNo
    by sandeep vb on 2015-10-20
    The plugin is cool and helpful. But I cloned repository with SSH url and I am able to push the commits without jira id. Does this plugin work for SSH protocol?
    1 out of 2 found this review helpful
    Was this review helpful?YesNo
    by David Raymond on 2015-08-18
    Sean, thanks for this nice plugin. I have an issue though, and although I have seen your response concerning the fact that the plugin only checks for committer in order to support merging someone else's code, it does not seem to work, at least in our use case. Consider repos A and a fork of it repos B. My colleague makes changes in repos B. I then clone repos A locally (origin points to repos A) and define another remote "dev" pointing to repos B. I fetch from "dev". In my local repository I then have my colleague's commit which is not in repos A on the server. If I push my local repos to origin (repos A), the commit fails because I am not my colleague. Is there a way around this issue. If repos B is also configured with YACC, we can argue that my colleague's commit has been validated, even though it is not in repos A. Could YACC discover this fact and allow me to push my colleague's commit to repos A? Am I misunderstanding the author/committer concept? As far as I understand my colleague is both the author and the committer of his commit in repos B, and commits are sealed objects. So when I try to push this commit to repos A, the committer is my colleague, not me. I did not do the commit. Thanks a lot, David
    Was this review helpful?YesNo

    Sean Ford

    Hi David!

    YACC doesn't work very well in a fork-based workflow (ie, cloning the repository when making a change rather than just creating a branch in the existing repository). :-( In the example that you give, the commits from your colleague in repo B are brand new with respect to repo A, so YACC attempts to validate the committer against the person who is pushing (you). YACC can't distinguish between a commit from another repository committed by someone else, to a commit that simply has the wrong committer information due to git being misconfigured.

    It might be feasible to somehow code YACC to check other repositories to see if the commit is present elsewhere, but that isn't how YACC currently operates. Sorry :-(


    by George Lianeris on 2015-08-14
    This is a very useful plugin. Would it be possible to configure this from the project level instead of the repository level?
    Was this review helpful?YesNo

    Sean Ford

    Hi George, thanks for the review! I just released YACC 1.7 which has support for global configuration. Project-level isn't supported; however, global might be useful to you for your use-cases.



    Yet Another Commit Checker isn't formally supported.


    Version 1.11 Bitbucket Server 4.0.0 - 4.10.1 Released 2016-01-06


    Faster pushes when global settings are not enabled


    • Performance: global hook no longer examines pushes if no global settings are enabled


    1. Log into your Bitbucket instance as an admin.
    2. Click the admin dropdown and choose Add-ons. The Manage add-ons screen loads.
    3. Click Find new add-ons from the left-hand side of the page.
    4. Locate Yet Another Commit Checker via search. Results include add-on versions compatible with your Bitbucket instance.
    5. Click Install to download and install your add-on.
    6. You're all set! Click Close in the Installed and ready to go dialog.

    To find older Yet Another Commit Checker versions compatible with your instance, you can look through our version history page.

    Similar add-ons