Issue
-
I want to configure Jenkins and Bitbucket Cloud to automatically trigger Multibranch or Bitbucket Team/Project jobs on changes
Resolution
The Bitbucket Branch Source plugin provides support for integration of Bitbucket with multibranch projects such as Pipeline Multibranch. The API listens for notification to the endpoint /bitbucket-scmsource-hook/notify
.
Configuration in Jenkins
Global Configuration
(This is not applicable to versions older than Bitbucket Branch Source 2.2.0)
Configure a Bitbucket Endpoint under
:Multibranch Project
To track a single repository, create an item of type Multibranch Pipeline and use the Bitbucket branch source:
Configure the SCM Source (refer to the help tooltips of each Behavior to better understand what it does):
Older Versions
Prior to Bitbucket Branch Source 2.2.0, there is nothing to configure in documentation of the Bitbucket Branch Source Plugin.
. Configure the SCM as explained in theBitbucket Team/Project
To track multiple repositories of a Bitbucket project, create an item of type Bitbucket Team/Project and use Bitbucket Team/Project repository source:
Configure the SCM Source (refer to the help tooltips of each Behavior to better understand what it does):
Older Versions
Prior to Bitbucket Branch Source 2.2.0, there is nothing to configure in documentation of the Bitbucket Branch Source Plugin.
. Configure the SCM as explained in theFurther Configuration
Once a project is saved, it automatically listens for events - commonly sent by webhooks - on the endpoint /bitbucket-scmsource-hook/notify
.
You can enabled Manage Hooks for a specific endpoint under
to allow Jenkins to automatically register webhooks to that endpoint. This is the recommended, quicker, easiest configuration.Older Versions
Prior to Bitbucket Branch Source 2.2.0, you can enable the option Auto-register webhook
to let Jenkins automatically register a webhook for your repository/ies. This is the recommended, quicker, easiest configuration.
Configuration in Bitbucket Cloud
If you have not setup Jenkins to automatically manage webhooks, see below to understand how to manually create the webhooks for you repositories:
Go to the Settings
of a repository. Then go to the section Webhooks
and click on Add Webhook:
Give it the name you want and specify the Bitbucket Branch Source endpoint $JENKINS_URL/bitbucket-scmsource-hook/notify
:
Ensure that the webhook is created and enabled:
From now on, Push
and Pull Request
events from that repository are notified to the Bitbucket Branch Source plugin.
Troubleshooting
Please have a look at Bitbucket Webhooks Troubleshooting to troubleshoot issues with these solutions.