Sourcetree Jira Integration

  • The Bitbucket Pipelines and Jira Software integration allows your team to automatically track associated builds and deployments to Jira issues.
  • For example, if you have Jira Software (50 users) and Jira Service Management (10 agents) on the same instance, you pay the 50-user price for apps.Note: While this app has features specific to Jira Service Management, the app is technically available across the whole Jira instance.
  • JIRA and SourceTree are both Atlassian products used to keep track of source code for those who write programs. JIRA is pretty cool, as it tracks all kinds of issues, i use it also as an advanced todo list.
  • Learn Sourcetree to request supplies for your space station. Want to master the world of Bitbucket? As a future master-of-the-universe, you need to make sure to order all the right supplies. This mission provides two tools to get you going: Bitbucket and Sourcetree.

Sourcetree is built to aid those new to distributed version control, like Git and Mercurial, as well as to provide advanced users a visual interface from which to work with their repositories. To day we’re providing greater awareness into your builds with the beta of our integration with Bitbucket Pipelines.

Software developers, students, and a few sea creatures have spoken. GitKraken is the most popular Git GUI in the world—named the most used graphical user interface for Git in the 2020 State of the Software Development Report.

You might, however, be on the fence; maybe you’re Git-curious, but not sure whether to ‘commit’ (sorry) to a GUI. After all, there are several out there. Which one should you choose? If you’re still deciding which Git client is best for you, we’ll save you some time.

Download the GitKraken Git GUI to maximize your productivity with Git.

So, how do Sourcetree and GitKraken compare? GitKraken satisfies developers worldwide with Linux support, cross-platform consistency, intuitive input actions, interface design, undo button, and more.

Linux Support

GitKraken ✅ Sourcetree ❌

Stack Overflow’s 2019 Developer Survey reports that over 25% of developers choose Linux as their primary OS. While many of our competitors neglect the growing market of Linux lovers, GitKraken, will dutifully manage your Git projects without bias toward your operating system. Windows, Mac and Linux users rejoice!

Sourcetree, by comparison, does not support Linux.

Cross-Platform Consistency

GitKraken ✅ Sourcetree ❌

We formerly covered that GitKraken is able to offer an identical experience of our application across Windows, Mac, and Linux.

Sourcetree Jira Integration

Not only is this feature appealing to developers, who in turn get to use the OS of their preference, it’s also beneficial for teams and organizations. Empowering your engineers with the tools they want to use will lead to happier employees and improved productivity.

Sourcetree’s experience varies greatly depending on whether you’re using the tool on Windows or Mac. Users often complain of frustrating discrepancies between versions. Having varied features across OS can be challenging when you need to troubleshoot an issue.

Furthermore, Sourcetree is not a focus of Atlassian, shown by a lack in communication and infrequent application updates.

GitKraken is a primary focus of Axosoft’s development team, making it possible to provide frequent updates and improvements, in addition to discoverable and helpful online resources and support.

Commit Graph UI

Sourcetree

GitKraken 👍 Sourcetree 👎

GitKraken’s interface is simple, intuitive and customizable with light and dark themes. If you’re going to use a GUI, it should look good! You’re worth it! Treat yourself!

The graph in GitKraken is not only a beautiful representation of your work, it is also a highly functional tool for managing your branches and commits. Interact directly with branches and commits when you merge with drag-and-drop, create branches, or revert commits. If you’re collaborating on a project, avatars act as visual markers that let you know who committed work. Icons on branch labels show which remotes and PRs they belong to.

The difference in UI is eloquently described by Satoripop developer, Ghassen Rjab, in his article, “Is it better to use GitKraken or Sourcetree for Git?

“In GitKraken’s main interface, we have everything we need. In the left panel, we have information about the project, such as local branches, the remote repositories added to the project and their branches, stashes, tags, and submodules. The project’s history and the work in progress are in the center, and we can see stashes too. In the right panel, we can see details of any commit we select from the history. At the top, we have the search button that we can use to look for commits.

All these features exist in the main interface, which makes it a great experience to work with GitKraken.”

By comparison, Sourcetree’s UI is split into three views: File Status, Log/History, and Search.

“The Sourcetree UI will make your UX a bit frustrating as you’ll always need to switch between these three tabs to get your work done.”

Undo/Redo Button

GitKraken ✅ Sourcetree ❌

One-click undo! What Git client can do that? Certainly not Sourcetree.

A crowd favorite, GitKraken’s Undo/Redo button has been a lifesaver for many developers, who may have accidentally discarded hours-worth of code changes. 😱

Jira

GitKraken allows users to undo the following actions with the click of a button: checkout; commit; discard; delete branch; remove remote; and reset branch to commit. You can also redo these actions if you ever undo them by mistake. 😅

Merge Conflict Resolution

GitKraken 👍 Sourcetree 👎

Resolve merge conflicts with more control over which bits of code to include by using GitKraken’s built-in merge tool. With Sourcetree it’s “mine,” “theirs,” or open another application.

GitKraken will display any conflicting files in the right commit panel. Clicking on a conflicted file will open the merge conflict editor where the current branch is displayed on the left, the target branch on the right, and an output field at the bottom.

Users can select all changes in a file, individual sections, or individual lines of code, all of which are displayed with an accompanying checkbox. Simply check the box to add that piece of code to the output field where you can see your options in context and decide which changes are preferable. (GitKraken users with paid accounts can even edit in the output field directly 🤯). After you have resolved the conflict, save the output and commit your changes.

With Sourcetree, you’re better off using an external merge tool.

Issue Tracking Integrations

GitKraken ✅ Sourcetree ❌

The GitKraken Git GUI is like no other tool of its kind on the market for many reasons, but this is a big one. No other Git clients offer robust integrations with the most popular issue trackers used by software developers and teams. None.

The GitKraken Git GUI integrates with the following issue trackers:

Users who utilize one of the above tools to manage their issues can accomplish the following actions directly from the GitKraken Git GUI: view, filter, and edit issues/cards, create branches tied to issues/cards, and create new issues/cards.

No more context switching to stay on top of your issues – simply do so from your beautiful coding environment.

Sourcetree, by comparison, does not offer robust issue tracking features and does not integrate with Trello, GitKraken Boards, GitLab Issues, or GitHub Issues.

Drag-and-Drop

GitKraken ✅ Sourcetree ❌

With GitKraken you can use the input methods you’re most comfortable with. Execute Git actions using drag-and-drop, or stick to the keyboard and switch repos, check out branches, etc. with GitKraken’s Fuzzy Finder. This is something you can also do in Sourcetr– oh no, you can’t.

Users on GitKraken can drag-and-drop to initiate interactive rebase or create a pull request (after setting up the integration to your hosting service); users can also drag-and-drop a branch onto a remote to perform a Push.

Don’t worry, GitKraken has something for you keyboard lovers out there too: our Fuzzy Finder, which allows users to access a variety of actions via keyboard shortcuts.

Sourcetree lacks drag-and-drop functionality and does not offer discoverable keyboard shortcuts.

Stand-Alone Licenses for Teams

GitKraken ✅ Sourcetree ❌

The GitKraken team has thoughtfully evolved our product offerings to support enterprise organizations required to work in disconnected or firewalled environments. Senior leadership can choose from our stand-alone or self-hosted options to best fit their needs.

While Sourcetree advertises an Enterprise option that offers better account management, they do not offer a version of their application that can be self-hosted.

If you do want the account management offered with Sourcetree Enterprise, you will need to download an MSI file installer to manage the process.

Sourcetree or GitKraken: Ready to make the Switch?

If you were already using Sourcetree, do yourself a favor. MAKE. 👏THE. 👏SWITCH. 👏 Trust us and many of those who have made the same transition: you will not regret it.

Plus: we’re ready to sweeten the deal with a HUGE discount on GitKraken Pro!

Stay on the cutting edge of software development by getting innovative tips, trends and stories delivered to your inbox every month!

Smart Commits

Smart commits allows your team to perform actions on Jira issues from a single commit. Users can enter the issue key and the desired action such as time tracking or closing an issue.

v2.6.3+ The smart commit processing is active by default and can be enabled/disabled via the git configuration page (Actions > Edit integration settings):

Sourcetree
In Jira Server, Smart Commits is a setting toggle in the Connect Wizard or the git
configuration page under Actions > Edit Integration Settings.
In Jira Cloud, this setting is always enabled.

v2.13.0+ Smart commits support for project keys that has an underscore '_' character.

v3.2.0+ Smart commits support for all alphabet characters.

v3.5.0.2+ The Git Integration for Jira app supports case insensitive Smart Commits.

In Jira Server, Smart Commits is a setting toggle in the Connect Wizard or the git
configuration page under Actions > Edit Integration Settings.
In Jira Cloud, this setting is always enabled.

Smart Commits configuration checklist:

  • The Jira DVCS Connector Plugin is not required.
    The Git Integration for Jira app has the functions of the connector plugin plus more integration support and features.
  • Your Jira e-mail address and Git commit e-mail address matches.
    The commit author's email should match exactly with a user's email in Jira. If they do not match, the application will add the commit as the app.
  • E-mail address is not shared by other Jira users.
    Verify that this email address is used by only one Jira user.
  • Advanced: Verify that the workflow conditions and validators are able to process successfully.

The Git Integration app supports smart commit by adding a simple syntax to a commit message.

The basic syntax for a Smart Commit message is:

To know more about syntax, commands and examples on Smart Commits, see Processing Jira Software Issues with Smart Commit Messages at the Atlassian website.

Basic Examples

There are Smart Commits commands that you can use in your commit messages. Refer to the following table for more details on each smart commit command:

Command, Usage and Description
#comment
The #comment command will add a comment to a Jira issue.
The above examples will add the specified comment text against the Jira issues.
The committers’ email address in the git configuration must match with the email address of the corresponding Jira user (or vice versa) to comment on issues.
#time
The #time command will record time tracking information against a Jira issue.
The above examples will add the respective time and worklog comment text against the Jira issues.
The Jira time tracking feature allows users to log the length of time spent working on issues. Jira administrators must have enabled this feature for this smart commit to work.
#<transition-name>
The #<transition-name> command will move the Jira issue to a particular workflow state.
The first example will transition the Jira issue to the specified workflow state and adds the comment message to the commit.
The second example will transition the Jira issue to the specified workflow state, adds the comment message to the commit, and adds specified the #comment to the Jira issue.
The Jira user must have the appropriate project permissions to be able to transition issues.
For more information on transitions and workflow names and how they work, see Workflow Transitions on this page.
#assign
v2.9.7
The #assign command will assign the particular issue to the specified Jira user. This command works in Jira Server/Cloud.
#fixversion
v2.9.7+
This command only works in Jira Server. It does not work in Jira Cloud.
The #fixversion command will add a Fix Version/s details tag to the specified issue.
Adds fix version tag 2.9.6 to the issue, GIT-1628.
Adds fix version tags 2.9.5 and 2.9.6 to the issue, GIT-1628.
If there was an initial Fix Version tag on the specified issue, a #fixversion command will append the new Fix Version tag to it.
The Fix Version tag, 2.9.4, already exists in issue GIT-1254. Performing a smart commit – GIT-1254 #fixversion 2.9.5 will give a result of:
Fix Version/s: 2.9.4, 2.9.5
#affectsversion
v2.9.7+
This command only works in Jira Server. It does not work in Jira Cloud.
The #affectsversion command will add an Affect Version/s details tag to the specified issue.

The #affectsversion command works the same way as #fixversion. However, it appends Affect Version/s tag instead to the specified issue.
#label
v2.12.6+Available in Jira Cloud
v3.5+Available in Jira Server
The #label command will add a new label to a Jira issue. If more than one Jira issue is referenced, the labels are added to all mentioned Jira issues. Multiple labels can be created by putting spaces between words.

Advanced Examples

Usage and Description
A single action on a single issue.
Example:
Records the specified worklog #time of 2 weeks, 1 day, 4 hours and 30 minutes and adds worklog comment 'This is a time log comment' to the issue, TEST-100.
Multiple actions on a single issue.
Logs specified #time of 4 hours and 30 minutes and add worklog comment 'Fixed null pointers' to the issue, TEST-100; adds the #comment 'Fixed code' and resolves the issue.
A single action on multiple issues.
Multiple actions on multiple issues.
Example:
Resolves specified issues; logs specified #time of 2 days and 4 hours and adds #comment 'Fixed code' against the issues.

Starting v2.6.33 of the Git Integration for Jira app, support for multi-line commit messages for Smart Commits has been implemented. The following examples show correct usage of the Smart Commit message:

In this example, an issue key that is present on every line is a valid multi-line commit message.

Sourcetree Jira Integration Tools

This is the equivalent smart commit message based from the above example.
This example, containing several issue keys, is also a valid multi-line smart commit message.

Workflow Transitions

The simple Jira workflow does not contain explicit transition names. These kind of workflow with no explicit transition names are becoming more popular as Atlassian is suggesting them to administrators upon project creation.

The name of the status is the transition. So, using the basic example above, the valid transitions from DONE are:

  • #to-do
  • #in-progress
  • #in-review
Sourcetree jira integration tool
The workflow transition names must be unique.
When there are no transition names — just use the status names. If there is a space, replace it with '–' (hyphens). For example, CODE REVIEW becomes #code-review.
Commit authors:
Only letters and '-' (dash) are valid for workflow transition names for Smart Commits. Any other characters are treated as invalid. Smart Commits will ONLY use the valid characters before the occurrence of an invalid character for processing.
Jira Administrators:
When adding transitions in the Workflow editor, make transition names simple and easy to remember. Only use letters and only one space between words.

Viewing Workflow

Accessing the View workflow link on the Issue page requires a user or user group to have the View Read-Only Workflow project permissions.

You can see the available custom workflow transition commands for use with Smart Commits by doing the following:

  1. Open an issue and click View Workflow from the context of the issue (near the issue’s Status).
  2. Hover a status.
  3. When you hover a status - it will highlight available transitions. This is the transition name that is used in Smart Commits and not the status name.

Below is an example using the above workflow where the issue is in OPEN status and want to send it to BUSINESS SPEC status:

Do note that invalid characters can be used in the transition name. Jira accepts most of them and they can be used. However, smart commits will only process letters and dash characters.

Thus, the part of the transition name up to the invalid character can be used for transitions; where spaces become '-'.

Example 1:

Transition nameSmart Commit transition
SEND_TO_QASEND
SEND-TO_QASEND-TO
SEND TO_QASEND-TO

There must be at least one unique way to call each transition name. If you have multiple transition names from a single status that use the same word, the Smart Commits will fail.

Example 2: Another example, where an issue status 'NEW' has these two transition paths:

  • SEND_TO_DEVELOPMENT
  • SEND_TO_BACKLOG

The invalid characters are used before unique transition names are possible. Both will become '#SEND'. Therefore, they are not unique and these transitions will fail.'

Example 3: Finally, the transition names have spaces instead:

  • SEND TO DEVELOPMENT
  • SEND TO BACKLOG

Both of these transitions are Smart Commit friendly and the possible transitions are:

  • #SEND-TO-D...
  • #SEND-TO-B...

The '...' indicates the truncation with the least character length to have the transition names be recognized as unique by Smart Commits. Any length shorter than this will fail the transition as explained in Example 2 above.

If a smart commit fails, an email notification is sent to either the Jira user, or to the Git user if a Jira user can't be identified.

Smart Commits Helper

Sourcetree Jira Integration

v2.9.3+ Introduced the smart commit helper and is available at the following locations:

  • Issue > Commit Tab
  • Project Page > Git Commits
  • Repository Browser > Commits

A smart commit helper indicator is displayed to the right of the user/commit author:

StatusDescription
COMMITThe Smart Commits setting is enabled for the repository but there is no smart commit keyword in the commit message.
SMART COMMITThe commit message has a valid smart commit structure and was successfully processed.
SMART COMMIT ERRORThere was an error during smart commit processing. For example, invalid keyword; commit author and Jira user are not the same; permission issues or wrong values.

The smart commit helper status are not shown:

  • for any smart commits that were made before v2.9.3 of Git Integration for Jira app.
  • for smart commits that were ignored due to Smart Commits setting for that repository is disabled.
  • for smart commits that have not been processed yet.
  • for processed commits with ticket ID but without smart commit keyword when Smart Commits setting is disabled for that repository.
When Smart Commits setting is disabled for that repository, the Git Integration for Jira app will not show the COMMIT indicators.

Refer to the commit message case examples below:

Commit IDCommit Message
Commit1 (This commit message does not contain an issue key)
Commit2 (This commit message has an issue key but no smart commit keyword)
Commit3 (This commit message have an issue key and valid smart commit keyword)
Commit4 (This commit message has an invalid smart commit keyword)

When Smart Commits setting was set to ENABLED:

Commit IDStatus after SC=DisabledStatus after SC=Enabled

Commit1

Commit is ignored since issue key is not provided.

Commit is ignored since issue key is not provided.

Commit2

No status indicator.

COMMIT

Commit3

SMART COMMIT

SMART COMMIT

Commit4

SMART COMMIT ERROR

SMART COMMIT ERROR

When Smart Commits setting was set to DISABLED:

Sourcetree Jira Integration Software

Commit IDStatus after SC=DisabledStatus after SC=Enabled

Commit1

Commit is ignored since issue key is not provided.

Commit is ignored since issue key is not provided.

Commit2

No status indicator.

No status indicator because it was marked as ignored.

Commit3

No status indicator.

No status indicator because it was marked as ignored.

Commit4

No status indicator.

No status indicator because it was marked as ignored.
The commit status shown on the Issue page depends on the Smart Commits setting that was set at the time the commits were processed.

Sourcetree Jira Integration Tutorial

Smart Commits Settings

Max commit age – Set a limit (in days) for Smart Commit processing. Commits older than the Max commit age can be associated to the Jira issue but any Smart Commit commands will not be processed. This protects against cases where old commits are merged into a new repository.
Max commit age – This setting is a hidden feature in Git Integration for Jira Cloud and Dev Info for Jira Cloud. All commits which are older than this setting (in seconds) shall be ignored for smart commits processing. The default value is 1209600 seconds (14 days).

Sourcetree Jira Integration Tool

In case when DevInfo for Jira Cloud is enabled, commits shall be sent with disabledTransition flag.