2,825
Customers have installed this app in at least 2,825 active instances.
2,825
Customers have installed this app in at least 2,825 active instances.
    by Mohamifor Bitbucket Server 5.2.0 - 7.6.0, Bitbucket Data Center 5.2.0 - 7.6.0 and more versions
    Versions available for Bitbucket Server 2.8.2 - 5.1.9
    Supported
    Mohami supports this app.

    Get support

    Supported
    Mohami supports this app.

    Get support

    Hook to validate and block commits according to configured policies. Easily enforce Jira workflows

    Hook to validate and block commits according to configured policies. Easily enforce Jira workflows

    Hook to validate and block commits according to configured policies. Easily enforce Jira workflows

    Enforce Workflows and High Quality Commit History

    Highly Configurable and Customizable

    Configurable on a Global, Project, or Repo Level

    Per-project, per-repository, and global configurations allow you to enforce company best practices like requiring commit messages to match regexes, or to contain Jira issues that are in the correct status.

    Customize your error messages to teach developers about best practices. Require issues to be assigned, not closed, or in a certain project to be accepted on commit. Exclude branches from commit policies.

    Use a JQL query to check and enforce any field of a Jira issue, including custom fields. Rules can be inherited on a project or global basis.

    Enforce Workflows and High Quality Commit History

    Highly Configurable and Customizable

    Configurable on a Global, Project, or Repo Level

    Per-project, per-repository, and global configurations allow you to enforce company best practices like requiring commit messages to match regexes, or to contain Jira issues that are in the correct status.

    Customize your error messages to teach developers about best practices. Require issues to be assigned, not closed, or in a certain project to be accepted on commit. Exclude branches from commit policies.

    Use a JQL query to check and enforce any field of a Jira issue, including custom fields. Rules can be inherited on a project or global basis.

    More details

    YACC has been acquired by Mohami! Please see our announcement here.

    Enforce your workflows and maintain high quality commit history with Yet Another Commit Checker. Easily configure a variety of checks and enable them globally or for specific projects and repositories.

    ✅ Feature highlights:

    • Repository, project, and global configuration
    • Require commit messages to contain valid Jira issues
    • Issue JQL matcher – can require issues to be in progress, in a certain project, etc.
    • Use either as a pre-receive hook or as a merge check
    • Require committer name and email to match Bitbucket user
    • Require commit messages to match regex
    • Validate branch names
    • Customizable errors

    😀 More Bitbucket apps you’ll like:

    Mohami is an Atlassian Platinum Partner.

    More details

    YACC has been acquired by Mohami! Please see our announcement here.

    Enforce your workflows and maintain high quality commit history with Yet Another Commit Checker. Easily configure a variety of checks and enable them globally or for specific projects and repositories.

    ✅ Feature highlights:

    • Repository, project, and global configuration
    • Require commit messages to contain valid Jira issues
    • Issue JQL matcher – can require issues to be in progress, in a certain project, etc.
    • Use either as a pre-receive hook or as a merge check
    • Require committer name and email to match Bitbucket user
    • Require commit messages to match regex
    • Validate branch names
    • Customizable errors

    😀 More Bitbucket apps you’ll like:

    Mohami is an Atlassian Platinum Partner.

    Reviews for cloud

    (22)
    Sign in to write a review
    by Mark Gillespie on 2017-04-07
    Works really well for us. Ensures all commits have a JIRA.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    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?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    Mohami

    All the exclusions you mentioned have since been implemented! Please refer to the documentation.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    I think you may be trying to push two commits. The first commit violates the message regex, the second commit is OK. In order to push you will have to update the commit message of the first commit (e.g by using "git rebase -i" or "git commit --amend") so that it conforms to the regex.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    The plugin definitely works for SSH checkouts. I think you may be using an "access key" rather than a user SSH key -- this creates commits under a "Service User". If this is the case, make sure the "Exclude Service User Commits" option is not enabled.

    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
    Mohami

    Hi David!

    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).

    The next version of YACC will contain an option to relax user name and author checks in order to support this workflow. See YACC-57: Allow any valid commit author to support fork workflow

    Reviews for server

    (22)
    Sign in to write a review
    by Mark Gillespie on 2017-04-07
    Works really well for us. Ensures all commits have a JIRA.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    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?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    Mohami

    All the exclusions you mentioned have since been implemented! Please refer to the documentation.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    I think you may be trying to push two commits. The first commit violates the message regex, the second commit is OK. In order to push you will have to update the commit message of the first commit (e.g by using "git rebase -i" or "git commit --amend") so that it conforms to the regex.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    The plugin definitely works for SSH checkouts. I think you may be using an "access key" rather than a user SSH key -- this creates commits under a "Service User". If this is the case, make sure the "Exclude Service User Commits" option is not enabled.

    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
    Mohami

    Hi David!

    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).

    The next version of YACC will contain an option to relax user name and author checks in order to support this workflow. See YACC-57: Allow any valid commit author to support fork workflow

    Reviews for Data Center

    (22)
    Sign in to write a review
    by Mark Gillespie on 2017-04-07
    Works really well for us. Ensures all commits have a JIRA.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    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?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    Mohami

    All the exclusions you mentioned have since been implemented! Please refer to the documentation.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    I think you may be trying to push two commits. The first commit violates the message regex, the second commit is OK. In order to push you will have to update the commit message of the first commit (e.g by using "git rebase -i" or "git commit --amend") so that it conforms to the regex.

    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
    Mohami

    Hi there, can you file an issue here: Submit a support request That will make it easier to help and debug than here. Thanks!

    The plugin definitely works for SSH checkouts. I think you may be using an "access key" rather than a user SSH key -- this creates commits under a "Service User". If this is the case, make sure the "Exclude Service User Commits" option is not enabled.

    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
    Mohami

    Hi David!

    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).

    The next version of YACC will contain an option to relax user name and author checks in order to support this workflow. See YACC-57: Allow any valid commit author to support fork workflow

    Cloud Pricing

    Server Pricing

    Data Center Pricing

    10 users$1025 users$25050 users$450100 users$830250 users$1,800500 & upAdditional pricing details
    25 users$250/year50 users$450/year100 users$830/year250 users$1,800/year500 users$2,800/year1000 & upAdditional pricing details

    Pricing FAQ

    How does server app pricing work?

    Server products and apps are hosted on your servers. This app is sold as a perpetual license, and the purchase price includes 12 months of maintenance (support and version updates).

    You can renew maintenance after 12 months at 50% of the current purchase price. You can upgrade the tier of your Atlassian product and app licenses at any time. Upgrade prices are calculated based on Atlassian's formula (view example).

    If app pricing changes after your initial purchase, there's a 60-day grandfathering period during which you can renew based on the old pricing.

    How do I determine my server pricing?

    Apps are billed based on the number of users in your Atlassian product. The app tier should match the licensed user tier of the Atlassian product. For example, if you have a Confluence license for 500 users, you should purchase the 500-user tier for apps. Even if fewer users want to use the app than your Atlassian product license, the two licenses should match exactly.

    Can I install this app in a Data Center product?

    Yes, this app has a Data Center approved version. If you're using a Data Center product, you should install the Data Center version of the app.

    Learn more about Data Center approved apps

    What type of license do I need if I'm using this app in a Data Center product?

    Because this app has a Data Center approved version, you should purchase a Data Center license for the app.

    If you already own a server license for this app, you can continue using the server license in your Data Center product for a limited period of time.

    Learn more about Data Center licensing

    Do you offer academic, community, or open-source licenses for server apps?

    For server apps, academic licenses are available at a 50% discount if you have an academic license for your Atlassian product.

    Community and open-source licenses are available for server apps. Learn more about community and open source licenses.

    Can I extend my free trial?

    For server apps, you can extend your app trial up to 5 times - in other words, for up to six months. Extend your trial by generating a new evaluation license key from Atlassian Marketplace. Click Try it free and you'll be directed to generate a new license. Paste this license key into the app listing in UPM from your Atlassian product, and you're all set.

    How can I buy apps for my legacy Jira Server or Confluence Server license?

    If you own a legacy Jira Server Unlimited (100+ users) or Confluence Server Unlimited (2000+ users) license purchased in 2012 or earlier, legacy app pricing is no longer available. You have two options for app purchasing:

    • Purchase the app at the non-legacy Unlimited (10000+ users) tier.
    • Renew your Jira or Confluence license at a non-legacy tier, then purchase the app at the same tier.

    Learn more

    Pricing FAQ

    How does Data Center app pricing work?

    Data Center apps are sold as an annual subscription. You are eligible for support and version updates as long as your subscription is active.

    If app pricing changes after your initial purchase, there's a 60-day grandfathering period during which you can renew based on the old pricing.

    How do I determine my Data Center pricing?

    Apps are billed based on the number of users in your Atlassian product. The app tier should match the licensed user tier of the Atlassian product. For example, if you have a Confluence license for 500 users, you should purchase the 500-user tier for apps. Even if fewer users want to use the app than your Atlassian product license, the two licenses should match exactly.

    Can I install this app in a Data Center product?

    Yes, this app has a Data Center approved version. If you're using a Data Center product, you should install the Data Center version of the app.

    Learn more about Data Center approved apps

    What type of license do I need if I'm using this app in a Data Center product?

    Because this app has a Data Center approved version, you should purchase a Data Center license for the app.

    If you already own a server license for this app, you can continue using the server license in your Data Center product for a limited period of time.

    Learn more about Data Center licensing

    Do you offer academic, community, or open-source licenses for Data Center apps?

    For Data Center apps, academic licenses are available at a 50% discount if you have an academic license for your Atlassian product.

    Community and open-source licenses are not available for Data Center apps. Learn more about community and open source licenses.

    Can I extend my free trial?

    For Data Center apps, you can extend your app trial up to 5 times - in other words, for up to six months. Extend your trial by generating a new evaluation license key from Atlassian Marketplace. Click Try it free and you'll be directed to generate a new license. Paste this license key into the app listing in UPM from your Atlassian product, and you're all set.

    Mohami provides support for this app.

    Mohami provides support for this app.

    Vendor support resources

    Documentation

    Find out how this app works.

    Vendor support resources

    Documentation

    Find out how this app works.

    Versions

    Version 2.0.2 Bitbucket Server 5.2.0 - 7.6.0 Released 2020-09-28

    Summary

    Fix for author name check

    Details

    • YACC-274 Fixed a bug that was introduced with the merge check feature where author name checks were checking usernames instead of display names
    • YACC-42 Made it so the commit message regex field now trims ending whitespace while saving.

    Versions

    Version 2.0.2 Bitbucket Data Center 5.2.0 - 7.6.0 Released 2020-09-28

    Summary

    Fix for author name check

    Details

    • YACC-274 Fixed a bug that was introduced with the merge check feature where author name checks were checking usernames instead of display names
    • YACC-42 Made it so the commit message regex field now trims ending whitespace while saving.

    Installation

    1. Log into your Bitbucket instance as an admin.
    2. Click the admin dropdown and choose Atlassian Marketplace. The Manage add-ons screen loads.
    3. Click Find new apps or Find new add-ons from the left-hand side of the page.
    4. Locate Yet Another Commit Checker via search. The appropriate app version appears in the search results.
    5. Click Try free to begin a new trial or Buy now to purchase a license for Yet Another Commit Checker. You're prompted to log into MyAtlassian. Yet Another Commit Checker begins to download.
    6. Enter your information and click Generate license when redirected to MyAtlassian.
    7. Click Apply license. If you're using an older version of UPM, you can copy and paste the license into your Bitbucket instance.

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

    1. Log into your Bitbucket instance as an admin.
    2. Click the admin dropdown and choose Atlassian Marketplace. The Manage add-ons screen loads.
    3. Click Find new apps or Find new add-ons from the left-hand side of the page.
    4. Locate Yet Another Commit Checker via search. The appropriate app version appears in the search results.
    5. Click Try free to begin a new trial or Buy now to purchase a license for Yet Another Commit Checker. You're prompted to log into MyAtlassian. Yet Another Commit Checker begins to download.
    6. Enter your information and click Generate license when redirected to MyAtlassian.
    7. Click Apply license. If you're using an older version of UPM, you can copy and paste the license into your Bitbucket instance.

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

    Similar apps