Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.
×We have configured a server side pre-receive hook to enforce a naming convention for the branch name. It works as expected when doing a push from local to server (source tree), where it doesn't allow developer to push a new branch with invalid name to the server.
But, if developer decided to use Bitbucket UI (Web) to create the branch, this hook is being bypassed, where developer can name the new branch to anything. Does Bitbucket UI not use the push to make changes to the Git server? or it is disabling/bypassing the pre-receive hook with some other mechanism.
Any way to prevent Bitbucket UI from bypassing pre-receive hooks?
The pre-receive hook will only get executed when you commit changes and do a git push to the server. If you are creating branches through the web UI you should add an event handler for the com.atlassian.bitbucket.event.branch.BranchCreationRequestedEvent.
To get the branch name you can do:
event.getBranch().getDisplayId()
Then to block creation you need to call:
event.cancel("Cancelling branch creation")
Additionally the current release of ScriptRunner for Bitbucket Server provides this functionality out of the box. Please see here for details of this.
Hope this helps.
Atlassian Government Cloud has achieved FedRAMP Authorization at the Moderate level! Join our webinar to learn how you can accelerate mission success and move work forward faster in cloud, all while ensuring your critical data is secure.
Register Now
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.