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:
Then to block creation you need to call:
event.cancel("Cancelling branch creation")
Hope this helps.
Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda ...
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot