How to Trigger Multibranch Jobs from BitBucket Cloud?

Issue

  • I want to configure Jenkins and BitBucket Cloud to automatically trigger Multibranch or Bitbucket Team/Project jobs on changes

Environment

Resolution

The BitBucket Branch Source plugin provide 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 Manage Jenkins > Configure System > Bitbucket Endpoints:

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 Manage Jenkins > Configure System. Configure the SCM as explained in the documentation of the Bitbucket Branch Source Plugin.

Bitbucket 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 Manage Jenkins > Configure System. Configure the SCM as explained in the documentation of the Bitbucket Branch Source Plugin.

Further 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 Manage Jenkins > Configure System > Bitbucket Endpoints 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.

References

Bitbucket Integration

Have more questions? Submit a request

2 Comments

Please sign in to leave a comment.