Reputation: 536
i have a bitbucket repo that sends webhook to trigger jenkins job.
http://:8080/buildByToken/buildWithParameters?job=webhook_me&token=t i want to send with the webhook the bitbucket branch name, so i search the web for the right way to use Environment variables on bit bucket and i've found this site:
so i've edited the url with an "&branch=$BITBUCKET_BRANCH" at the end, but it won't work.
any ideas what should i do in order to send the webhook with the branch name?
*******EDIT*******
i saw that there is something called Bitbucket event payload. which is a json that contains all of the details about the webhook: https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html
but i can't figure a way how to use it and pull it's data from jenkins.
i think that, this is the way to solve this, but i don't know how to use it.
Upvotes: 7
Views: 16090
Reputation: 536
i've found a way to do it, it works for me. you need to use the bitbucket plugin: Bitbucket Plugin
then inside the job you need to specify the branch that will trigger the job after a push and check the marked checkbox:
then on the bitbucket create a webhook with the following URL: http://:/bitbucket-hook/ Like so:
then push something to this repository and that branch, and there you go! if you try to push to a different branch, the job won't be triiggered
Upvotes: 4
Reputation: 475
Have you tried using jenkins-like variable ${BITBUCKET_BRANCH} instead of $BITBUCKET_BRANCH which is more shell-like variable?
Upvotes: 0
Reputation: 5321
The $BITBUCKET_BRANCH is only available in the Jenkins job. You are just literally passing the text "$BITBUCKET_BRANCH as the "branch" parameter. You can't pass in an environment variable like that.
$BITBUCKET_BRANCH may simply be available in the job, depending on the version of Jenkins and type of job you are using. In a pipeline job, this would be easy to access (if you have the right version of things). You don't need to pass it in unless you are trying to give it some other branch. In that case, you will need to see if you can get the branch on the bitbucket side to pass in to Jenkins.
Upvotes: 0