Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

Jira

Articles

SHARE

DevOps for Jira #2: Connecting to a code repository

Rachel Wright

March 5, 2025

15

min read

I've noticed a common trend in my experience working with organizations that develop their own software. They adhere to software development best practices - except when it comes to managing Jira! My last article discussed ways to bring DevOps concepts to Jira, like creating a test environment and strategically deploying changes between a sandbox and production. In this article, we’ll further evolve our process by using a Git-based source code repository to manage changes to the Jira configuration. You can say goodbye to manually addressing dependencies, conflicting code changes, and writing tedious documentation by bringing source code management to Jira and Jira Service Management.

First, some definitions:

  • Source code repository — A central place to store and version code, configuration files, documentation, and other objects.
  • Git — A widely used version control system to track code and file change history. It manages changes from multiple users to multiple versions without impacting the main code base.
  • Branch — A copy of the main code base used for making isolated changes. When work is finished on a branch, the changes are merged into the main version.
  • Pull request (PR) — A request to review changes before they are merged to the main code base. This process helps foster collaboration and discussion of changes before they occur.
  • Commit — The action of applying changes to a repository. Commits represent a snapshot in time or a history of revisions.

Git Platforms

Some common Git-based platforms include Bitbucket (an Atlassian product), GitHub, GitLab, and Azure DevOps. These applications help developers work faster, collaborate,  and automate common software development tasks.

Since source control tools are the standard way to manage software changes, let’s use these same principles to manage Jira changes!

We’ll make a Jira configuration change and deploy it to production with Salto. Salto will automatically manage the branching, committing, pushing, merging, and documentation processes in Bitbucket. The entire change history will be visible in all three applications, resulting in a robust DevOps process for Jira.

The example in this article shows how Jira and Bitbucket connect. But feel free to use your repository of choice. Salto can connect to any on-premise or cloud Git provider. I’ll also assume you’ve already linked your Jira and Bitbucket applications, connected a Jira Software project to a Bitbucket repository, and created a Salto environment.

Connecting to a Repository

Because Salto stores the Jira configuration as text files, it can leverage source control platforms to track all the changes made to Jira settings. By deploying changes with Salto, new branches are automatically created and merged in the repository. Here’s how to connect Salto and Bitbucket so you can better manage change in Jira.

To connect an environment to Bitbucket in Salto, click the settings icon at the top right. Under the “Environment settings” header on the left, click the “Version control” option. Then click the “Connect Git” button.

Connect an environment to a Git-based platform

Next, select the desired options in the overlay. Here are the steps:

Step 1: Define your Git usage

The first step is to choose between automatic or manual branch updates. The recommended option is automatic, which means the repository is updated any time a change is deployed or Salto fetches the latest Jira configuration.

Next, choose whether to create pull requests for deployment records automatically. It’s always a good idea to review changes before they are merged with the main code version. These records capture all of the configuration changes managed by Salto deployments. I recommend enabling this protective feature. Read more about the benefits here.

I’ll select “Automatically” and enable Salto pull requests (PRs).

Define your Git usage

Step 2: Git Authentication

In the next step, choose the desired Git provider by clicking a tab at the top of the screen. Click the “Other” tab on the right to connect to a different option.

I’ll select “Bitbucket” and click the “Cloud” deployment type. As shown in the screenshot, ensure you’re logged into Salto with the desired user account. Next, the wizard will authenticate the user and retrieve any Bitbucket repositories.

Authenticate in Bitbucket

Automate the way you migrate Jira configurations from sandbox to production

Step 3: Select a Repository

Next, select the repository to use for Jira changes.

Select a repository

Step 4: Create a New Branch

Finally, create a new branch or select an existing one. Then, click the form submission button to complete the connection process.

Create or select a branch

Once the connection is made, you can manage its settings from the “Version control” area. You can also access connection settings by clicking the Bitbucket icon at the top right of the screen.

As shown in the screenshot, the selected branch is reserved for changes deployed within Salto. If you plan to make changes outside Salto, you should dedicate a separate branch.

Putting it All Together

Now that Salto and Bitbucket are connected, let’s deploy a change to see the benefits of this integration. Salto will manage all the branching, committing, pushing and merging for you! No need to execute any Git commands unless you’d like to.

I’ll make a change in a sandbox environment and prepare a deployment in Salto. For step-by-step instructions for setting up a test environment and creating a deployment, see my previous article: DevOps for Jira #1: Deploying Changes, the Right Way.

First, create a Jira issue to track the change. I’ll log CONFIG-1 to add a new workflow status.

Example Jira change record

Tip: Multiple Jira issues can have the same summary (title), but an issue’s ID (key) is always unique. Make sure to include the related Jira issue ID in branch names, commit messages, and pull requests. This links issues with related development work, provides a traceable history, and eliminates potential user confusion.

Next, add the new status to the sandbox environment. In Salto, fetch the configuration and create a new deployment. Then select the new status to deploy it to production. Salto automatically creates a feature branch, commits the configuration change, and creates a pull request. Click the “View in Bitbucket” link to go directly to it.

Pull request automatically created by Salto

In Bitbucket, review the pull request record. Salto automatically provides all the needed data, like source and target information, information about who triggered the PR, and links to the related Jira issue.

The pull request in Bitbucket

Click the “Files changed” tab to see the NaCl file Salto uses to store configuration information for the change. NaCl is a structured and human-readable language that describes a configuration element and its relationships to other elements. After reviewing the change, click the “Approve” button to approve it and continue with the deployment in Salto.

Change details in Bitbucket

Back in Salto, click the “Deploy” button at the top right and complete the deployment process. After the deployment, Salto automatically cleans up by merging the pull request and fetching the target Jira environment’s new configuration. The change is now available in production, and I did very little manual work to facilitate this process.

Merge details in Bitbucket

All that’s left to do is close my change-tracking issue in Jira. The development panel on the issue’s right sidebar shows the related commit and pull requests. Click on either to access additional information.

The development panel in Jira

The change is complete, and all details are appropriately documented in Jira, Bitbucket, and Salto.

Activities to Try

Now it’s your turn! Connect Salto to your source code repository, make a small change in your sandbox, and deploy the change to production with Salto. You’ll love how the entire change process is automatically managed and logged.

Resources

WRITTEN BY OUR EXPERT

Rachel Wright

Atlassian Consultant

Rachel Wright started using Jira and Confluence in 2011, became an administrator in 2013, and was certified in 2016. Rachel also uses Atlassian tools in her personal life for accomplishing goals and tracking tasks. Her first book, the “Jira Strategy Admin Workbook“, was written in Confluence and progress was tracked in Jira!

Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

Jira

Jira

SHARE

DevOps for Jira #2: Connecting to a code repository

Rachel Wright

March 5, 2025

15

min read

I've noticed a common trend in my experience working with organizations that develop their own software. They adhere to software development best practices - except when it comes to managing Jira! My last article discussed ways to bring DevOps concepts to Jira, like creating a test environment and strategically deploying changes between a sandbox and production. In this article, we’ll further evolve our process by using a Git-based source code repository to manage changes to the Jira configuration. You can say goodbye to manually addressing dependencies, conflicting code changes, and writing tedious documentation by bringing source code management to Jira and Jira Service Management.

First, some definitions:

  • Source code repository — A central place to store and version code, configuration files, documentation, and other objects.
  • Git — A widely used version control system to track code and file change history. It manages changes from multiple users to multiple versions without impacting the main code base.
  • Branch — A copy of the main code base used for making isolated changes. When work is finished on a branch, the changes are merged into the main version.
  • Pull request (PR) — A request to review changes before they are merged to the main code base. This process helps foster collaboration and discussion of changes before they occur.
  • Commit — The action of applying changes to a repository. Commits represent a snapshot in time or a history of revisions.

Git Platforms

Some common Git-based platforms include Bitbucket (an Atlassian product), GitHub, GitLab, and Azure DevOps. These applications help developers work faster, collaborate,  and automate common software development tasks.

Since source control tools are the standard way to manage software changes, let’s use these same principles to manage Jira changes!

We’ll make a Jira configuration change and deploy it to production with Salto. Salto will automatically manage the branching, committing, pushing, merging, and documentation processes in Bitbucket. The entire change history will be visible in all three applications, resulting in a robust DevOps process for Jira.

The example in this article shows how Jira and Bitbucket connect. But feel free to use your repository of choice. Salto can connect to any on-premise or cloud Git provider. I’ll also assume you’ve already linked your Jira and Bitbucket applications, connected a Jira Software project to a Bitbucket repository, and created a Salto environment.

Connecting to a Repository

Because Salto stores the Jira configuration as text files, it can leverage source control platforms to track all the changes made to Jira settings. By deploying changes with Salto, new branches are automatically created and merged in the repository. Here’s how to connect Salto and Bitbucket so you can better manage change in Jira.

To connect an environment to Bitbucket in Salto, click the settings icon at the top right. Under the “Environment settings” header on the left, click the “Version control” option. Then click the “Connect Git” button.

Connect an environment to a Git-based platform

Next, select the desired options in the overlay. Here are the steps:

Step 1: Define your Git usage

The first step is to choose between automatic or manual branch updates. The recommended option is automatic, which means the repository is updated any time a change is deployed or Salto fetches the latest Jira configuration.

Next, choose whether to create pull requests for deployment records automatically. It’s always a good idea to review changes before they are merged with the main code version. These records capture all of the configuration changes managed by Salto deployments. I recommend enabling this protective feature. Read more about the benefits here.

I’ll select “Automatically” and enable Salto pull requests (PRs).

Define your Git usage

Step 2: Git Authentication

In the next step, choose the desired Git provider by clicking a tab at the top of the screen. Click the “Other” tab on the right to connect to a different option.

I’ll select “Bitbucket” and click the “Cloud” deployment type. As shown in the screenshot, ensure you’re logged into Salto with the desired user account. Next, the wizard will authenticate the user and retrieve any Bitbucket repositories.

Authenticate in Bitbucket

What if Zendesk was 4x less work?

Request a Demo Get started with Salto

Step 3: Select a Repository

Next, select the repository to use for Jira changes.

Select a repository

Step 4: Create a New Branch

Finally, create a new branch or select an existing one. Then, click the form submission button to complete the connection process.

Create or select a branch

Once the connection is made, you can manage its settings from the “Version control” area. You can also access connection settings by clicking the Bitbucket icon at the top right of the screen.

As shown in the screenshot, the selected branch is reserved for changes deployed within Salto. If you plan to make changes outside Salto, you should dedicate a separate branch.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Putting it All Together

Now that Salto and Bitbucket are connected, let’s deploy a change to see the benefits of this integration. Salto will manage all the branching, committing, pushing and merging for you! No need to execute any Git commands unless you’d like to.

I’ll make a change in a sandbox environment and prepare a deployment in Salto. For step-by-step instructions for setting up a test environment and creating a deployment, see my previous article: DevOps for Jira #1: Deploying Changes, the Right Way.

First, create a Jira issue to track the change. I’ll log CONFIG-1 to add a new workflow status.

Example Jira change record

Tip: Multiple Jira issues can have the same summary (title), but an issue’s ID (key) is always unique. Make sure to include the related Jira issue ID in branch names, commit messages, and pull requests. This links issues with related development work, provides a traceable history, and eliminates potential user confusion.

Next, add the new status to the sandbox environment. In Salto, fetch the configuration and create a new deployment. Then select the new status to deploy it to production. Salto automatically creates a feature branch, commits the configuration change, and creates a pull request. Click the “View in Bitbucket” link to go directly to it.

Pull request automatically created by Salto

In Bitbucket, review the pull request record. Salto automatically provides all the needed data, like source and target information, information about who triggered the PR, and links to the related Jira issue.

The pull request in Bitbucket

Click the “Files changed” tab to see the NaCl file Salto uses to store configuration information for the change. NaCl is a structured and human-readable language that describes a configuration element and its relationships to other elements. After reviewing the change, click the “Approve” button to approve it and continue with the deployment in Salto.

Change details in Bitbucket

Back in Salto, click the “Deploy” button at the top right and complete the deployment process. After the deployment, Salto automatically cleans up by merging the pull request and fetching the target Jira environment’s new configuration. The change is now available in production, and I did very little manual work to facilitate this process.

Merge details in Bitbucket

All that’s left to do is close my change-tracking issue in Jira. The development panel on the issue’s right sidebar shows the related commit and pull requests. Click on either to access additional information.

The development panel in Jira

The change is complete, and all details are appropriately documented in Jira, Bitbucket, and Salto.

Activities to Try

Now it’s your turn! Connect Salto to your source code repository, make a small change in your sandbox, and deploy the change to production with Salto. You’ll love how the entire change process is automatically managed and logged.

Resources

WRITTEN BY OUR EXPERT

Rachel Wright

Atlassian Consultant

Rachel Wright started using Jira and Confluence in 2011, became an administrator in 2013, and was certified in 2016. Rachel also uses Atlassian tools in her personal life for accomplishing goals and tracking tasks. Her first book, the “Jira Strategy Admin Workbook“, was written in Confluence and progress was tracked in Jira!