1,954
Customers have installed this app in at least 1,954 active instances.
    by Stanislav Seletskiyfor Bitbucket Server 5.0.0 - 5.15.0 and more versions
    Versions available for Bitbucket Server 2.7.2 - 2.12.6
    Bitbucket Server 3.0.0 - 4.14.12
    Supported
    Stanislav Seletskiy supports this app.

    Get support

    There is no need to write repo hooks on Java anymore

    There is no need to write repo hooks on Java anymore

    There is no need to write repo hooks on Java anymore

    Arbitary git commands can be used as executables

    Any arbitary executable can be used as hook

    Executables will fed with all data available

    In this example, it is very easy to create mirror hook to any other git repository (existing Mirror Extension provides mirroring only to Bitbucket Server instances).

    Also, shell scripts can be used as hooks.

    Following data is accessible: positional parameters specified in configuration screen, ref pushed from/to and ref name, user who invokes push and all repo data (working directory will be changed to underlying git repo).

    More details

    The command specified in the configuration will be executed from repository dir, so it is possible to use any git command without any doubt.

    Keep in mind, that if you will print something in your Post-Receive Hook script, it will be silently discarded becase of Stash run Post-Receive Hooks asynchronously.

    Reviews for cloud

    (22)
    Sign in to write a review
    by Kirk Spragg on 2017-07-29
    This is great! We are a Python-centric dev shop and this allows me to write hooks in the language I know best.
    Was this review helpful?YesNo
    by Michael Rudd on 2017-06-22
    This plugin used to work great for us with Stash 3.11.1 and Git 1.9.5 We just upgraded to BitBucket 5.1.0 with Git 2.12.1 and the plugin stopped working. Took me a while to identify, what I think is maybe a problem. Git 2.11 "significant changes to push handling on the server" (ref. https://github.com/sford/yet-another-commit-checker/issues/139), more specifically "...The new quarantining behavior that was added for pushes creates a random temporary directory where the newly-received objects are written, and exports GIT_OBJECT_DIRECTORY , GIT_ALTERNATE_OBJECT_DIRECTORIES and GIT_QUARANTINE_PATH ..." Our custom pre-receive hook uses 'ls-tree' to examine the ${newrev} commit for improperly named files and folders, which would violate our directory structure policy. Now we're getting an error that it is not a tree object. Similarly, 'cat-file' errors out with "could not get object info", 'log' says "bad object" and diff says "invalid range". It all boils down to git not being able to see the ${newrev} object that the plugin passes to the script. I was trying to find a place to submit this bug report, but didn't find any links on the project's GitHub page. For now, it looks like we'd have to disable this hook, unfortunately :(
    6 out of 7 found this review helpful
    Was this review helpful?YesNo
    by CyrilC on 2016-08-03
    Simple, efficient, just what I needed for controlling commit content in pre-receive hook. A simple python script checks a regexp, and controls if mentioned Jira Issue exists (mandatory in our process). This plugin should be integrated by default in bitbucket, because with a basic git installation, this feature exists and I was afraid to loose it while migrating to bitbucket.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    by Kumaran on 2016-05-30
    Does this add-on works on datacenter version of Bitbucket server ?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    by David Greene on 2016-03-04
    We'd really like to use this but we want to implement a Merge Check hook. Any plans to support Merge Check hooks in the future?
    Was this review helpful?YesNo

    Reviews for server

    (22)
    Sign in to write a review
    by Kirk Spragg on 2017-07-29
    This is great! We are a Python-centric dev shop and this allows me to write hooks in the language I know best.
    Was this review helpful?YesNo
    by Michael Rudd on 2017-06-22
    This plugin used to work great for us with Stash 3.11.1 and Git 1.9.5 We just upgraded to BitBucket 5.1.0 with Git 2.12.1 and the plugin stopped working. Took me a while to identify, what I think is maybe a problem. Git 2.11 "significant changes to push handling on the server" (ref. https://github.com/sford/yet-another-commit-checker/issues/139), more specifically "...The new quarantining behavior that was added for pushes creates a random temporary directory where the newly-received objects are written, and exports GIT_OBJECT_DIRECTORY , GIT_ALTERNATE_OBJECT_DIRECTORIES and GIT_QUARANTINE_PATH ..." Our custom pre-receive hook uses 'ls-tree' to examine the ${newrev} commit for improperly named files and folders, which would violate our directory structure policy. Now we're getting an error that it is not a tree object. Similarly, 'cat-file' errors out with "could not get object info", 'log' says "bad object" and diff says "invalid range". It all boils down to git not being able to see the ${newrev} object that the plugin passes to the script. I was trying to find a place to submit this bug report, but didn't find any links on the project's GitHub page. For now, it looks like we'd have to disable this hook, unfortunately :(
    6 out of 7 found this review helpful
    Was this review helpful?YesNo
    by CyrilC on 2016-08-03
    Simple, efficient, just what I needed for controlling commit content in pre-receive hook. A simple python script checks a regexp, and controls if mentioned Jira Issue exists (mandatory in our process). This plugin should be integrated by default in bitbucket, because with a basic git installation, this feature exists and I was afraid to loose it while migrating to bitbucket.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    by Kumaran on 2016-05-30
    Does this add-on works on datacenter version of Bitbucket server ?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    by David Greene on 2016-03-04
    We'd really like to use this but we want to implement a Merge Check hook. Any plans to support Merge Check hooks in the future?
    Was this review helpful?YesNo

    Reviews for Data Center

    (22)
    Sign in to write a review
    by Kirk Spragg on 2017-07-29
    This is great! We are a Python-centric dev shop and this allows me to write hooks in the language I know best.
    Was this review helpful?YesNo
    by Michael Rudd on 2017-06-22
    This plugin used to work great for us with Stash 3.11.1 and Git 1.9.5 We just upgraded to BitBucket 5.1.0 with Git 2.12.1 and the plugin stopped working. Took me a while to identify, what I think is maybe a problem. Git 2.11 "significant changes to push handling on the server" (ref. https://github.com/sford/yet-another-commit-checker/issues/139), more specifically "...The new quarantining behavior that was added for pushes creates a random temporary directory where the newly-received objects are written, and exports GIT_OBJECT_DIRECTORY , GIT_ALTERNATE_OBJECT_DIRECTORIES and GIT_QUARANTINE_PATH ..." Our custom pre-receive hook uses 'ls-tree' to examine the ${newrev} commit for improperly named files and folders, which would violate our directory structure policy. Now we're getting an error that it is not a tree object. Similarly, 'cat-file' errors out with "could not get object info", 'log' says "bad object" and diff says "invalid range". It all boils down to git not being able to see the ${newrev} object that the plugin passes to the script. I was trying to find a place to submit this bug report, but didn't find any links on the project's GitHub page. For now, it looks like we'd have to disable this hook, unfortunately :(
    6 out of 7 found this review helpful
    Was this review helpful?YesNo
    by CyrilC on 2016-08-03
    Simple, efficient, just what I needed for controlling commit content in pre-receive hook. A simple python script checks a regexp, and controls if mentioned Jira Issue exists (mandatory in our process). This plugin should be integrated by default in bitbucket, because with a basic git installation, this feature exists and I was afraid to loose it while migrating to bitbucket.
    2 out of 2 found this review helpful
    Was this review helpful?YesNo
    by Kumaran on 2016-05-30
    Does this add-on works on datacenter version of Bitbucket server ?
    1 out of 1 found this review helpful
    Was this review helpful?YesNo
    by David Greene on 2016-03-04
    We'd really like to use this but we want to implement a Merge Check hook. Any plans to support Merge Check hooks in the future?
    Was this review helpful?YesNo

    Cloud Pricing

    Server Pricing

    Data Center Pricing

    10 users$1025 users$7950 users$149100 users$279250 users$599500 & 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?

    This app does not have a a Data Center approved version. Only apps meeting a set of performance requirements for large, clustered environments are approved for Data Center.

    However, while server apps are built for single-server deployments, many customers successfully install them in Data Center products. If you're using a Data Center product, Atlassian recommends you contact the vendor to determine compatibility at scale.

    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 does not have a Data Center approved version, you should purchase a Server license if you decide to install this app in a Data Center product.

    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

    Stanislav Seletskiy provides support for this app.

    Vendor support resources

    Documentation

    Find out how this app works.

    See existing Q&A in Atlassian CommunityAsk a question in the Atlassian Community

    Atlassian-hosted discussions connect you to other customers who use this app.

    Versions

    Version 4.5-1 Bitbucket Server 5.0.0 - 5.15.0 Released 2018-10-12

    Summary

    Merge Checks can be configured to add comments to Pull Requests

    Details

    Release introduces two configuration options for Merge Checks:

    • Add comments to the pull request about the check results
    • Decline pull requests when the merge is rejected

    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 add-ons from the left-hand side of the page.
    4. Locate External Hooks 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 External Hooks. You're prompted to log into MyAtlassian. External Hooks 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 External Hooks versions compatible with your instance, you can look through our version history page.

    Similar apps