Trigger Bitbucket pipelines with Jira Cloud Automation

With Jira Automation, project administrators have a powerful tool to add automations to Jira projects, such as creating, assigning, and editing issues. In addition, conditions can be set so that actions are only executed when an issue meets a specific criterion. There are currently only a few automations for external systems such as Microsoft Teams or Slack. If you need your own integration, web requests must be used. In this post, I'd like to show you how to trigger a Bitbucket pipeline based on a Jira issue event. Let's imagine that we work in a software development team and have recently started automating our work. We're using the Atlassian Stack with Jira and Bitbucket, of course, and want to connect both applications so that we trigger a Bitbucket pipeline every time an issue goes into testing status.

Setup

Lets assume we already have a Jira Cloud project and a Bitbucket pipeline setup. If you want to know more about it, please read the documentation:

Trigger Bitbucket Pipelines with Jira Cloud Automation

Prerequisites

To configure Jira Automations you need to have the specific permissions. For Classic Projects you need the Administer Project permission, for Next-gen Projects you need to be within the Administrator Role.

Depending on which project type you use, you’ll find the Automation page here:

Classic Project

  • Project settings → Automation

Next-gen Project

  • Project settings → Apps → Project Automation

One more thing we need to look at before we start is to find out how the use the Bitbucket API. In this link you’ll find all information about the data we need to send to the API to trigger a pipeline for a branch.

Trigger Bitbucket Pipelines with Jira Cloud Automation

Automation

1. Trigger

As sketched above we want to trigger the pipeline every time an issue gets transtioned into the status “Testing”. In this case we should use the Issue Transitioned trigger.

Trigger Bitbucket Pipelines with Jira Cloud Automation

2. Notification

Pick the From Status and To Status.

You can choose several statuses with both fields.

When you’ve saved this configuration we can choose to pick a Condition first, to limit the scope of issues. In our case we’ll simply pick a new Action right away.

From the list of options we pick Send web request which is within the Notifications list.

Trigger Bitbucket Pipelines with Jira Cloud Automation

To configure the Send web request we need the following information:

  • Workspace: Team name or your account name
  • Repository Slug: Repository name
  • POST Data:

{
      “target”: {
          “ref_type”: “branch”,
          “type”: “pipeline_ref_target”,
          “ref_name”: “master”
      }
}

One way to trigger pipelines is by specifying the branch for which you want to trigger a pipeline. The specified branch will be used to determine which pipeline definition from the bitbucket-pipelines.yml file will be applied to initiate the pipeline. The pipeline will then do a clone of the repository and checkout the latest revision of the specified branch.

With this information we can configure our Web request:

Trigger Bitbucket Pipelines with Jira Cloud Automation

For authorization, please read this documentation, here you’ll different ways to authenticate.

Trigger Bitbucket Pipelines with Jira Cloud Automation
Popular articles