Streamlining your development with JIRA
Create a feature branch from JIRA when starting work on an issue
If you use Atlassian's Stash or Bitbucket to manage your Git repositories, your developers can create a code branch directly from an issue in JIRA or JIRA Agile. Clicking Create branch opens your DVCS application to begin the branch creation process. The process guides the developer in a number of ways at this crucial step:
- It displays the available repository applications where they can create the branch
- It starts with the developers latest project and repository
- It suggests the branch to branch from
- It automatically adds the JIRA issue key to the new branch name.
Stash suggests a branch type and a matching prefix for the branch name, when you have a branch model configured. The branch model helps developers to conform to your process guidelines when creating branches. Read more about the Stash branch model.
Automatically update workflow status
Instead of having JIRA issue statuses lagging behind, and the team not knowing the true state of the project, JIRA administrators can now configure triggers in JIRA workflows that respond to events in your linked development tools. For example, when a developer creates a branch to start work on an issue in Stash, the issue will automatically be transitioned from 'Open' to 'In progress' in JIRA.
JIRA responds to events in Stash, Bitbucket, FishEye and Crucible, as well as GitHub and GitHub:Enterprise.
Currently available events include:
- Branch created
- Commit created
- Pull request created, merged, declined and reopened
- Review started, summarised, approved, rejected, abandoned, closed
See all the branches made for a JIRA issue
The Development panel, seen above, shows how many branches are related to the issue, wherever they're located (perhaps in multiple instances of Stash and FishEye, or hosted in Bitbucket).
To see details of those branches, simply click the branches link. You'll see where each branch is located, and the status of any pull requests for the branches:
Click a branch to go to it in Stash (or wherever it's hosted), or hover over a pull request status lozenge to see a direct link to the PR.
Use the Create pull request link to display the repository and begin the process for creating a pull request. This is a great way to start a discussion about the code changes on a particular branch – before they get merged.
As long as the branch name includes the issue key, and uses the default JIRA issue key format, the branch is automatically included in the Development panel.
See all the work for a JIRA issue
The Development panel shows the number of commits that are related to a JIRA issue. It collects those from all the linked instances of Stash (or other linked repository applications such as Bitbucket and FishEye).
To see details for those commits, just click the commits link. You'll see who made each commit, when they commited, and how many files were changed (commits are greyed out if they've already been merged):
Click through to see a particular commit in the repository where the commit was made.
A developer only needs to add the issue key to the commit message, using the default key format, for the commit to be automatically linked to the JIRA issue, and included in the commits summary in the Development panel for the issue.
See at a glance if builds are failing
The Development panel displays the most relevant status of all the Bamboo CI builds that are related to your JIRA issue. The status icon is:
if all the different builds (for example, unit tests, functional tests, deploy to staging) succeeded.
if at least one run failed for any build by any linked instance of Bamboo.
To see details for those builds, just click the builds link. You'll see the name of the build plan and how many tests have passed, or failed:
You can click through to see the build plan and the build result in Bamboo.
You can configure plan branches to be automatically created by Bamboo when a new branch is detected in the repository for the plan. Using plan branches ensures that commits to repository branches, and not just commits to master, get continuous integration testing. Because Bamboo does this automtically, there's no need to manually, and repetitively, configure a new Bamboo plan for every new branch in the repo. Read more about plan branches in Bamboo.
Bamboo can be configured to regularly poll the repo and to start a build when it finds changes. Alternatively, a repository change can trigger Bamboo to run the build, for example by using a post-receive web hook, such as this one. The web hook triggers the build plan (or plan branch) whenever a commit is made. Either way, the build result is passed to the JIRA issue and added to the summary in the Development panel. Note that Bamboo must be able to authenticate with Stash to check out source code.
A build is automatically linked to a JIRA issue if a commit involved in the build has the JIRA issue key in its commit message.
Spot if work for an issue has been discussed and merged
The Development panel shows the most relevant status of the pull requests that are related to a JIRA issue. The pull request status is:
OPEN if there is at least one open pull request.
MERGED if there are no open pull requests, and at least one pull request has been merged.
DECLINED if there are no open or merged pull requests, and at least one pull request has been declined.
To see details for all the pull requests, simply click the pull requests link. You'll see the status of each pull request, who the reviewers are, and who has yet to complete their review. You can also see the number of comments on a pull request:
Click on the title of a pull request to see see it in Stash.
Once you are ready to merge a pull request, and when the reviewers have approved it, just follow the link to the PR in Stash.
Stash can be configured to automatically merge changes to newer release branches. This reduces the need for manual maintenance of repository branches, and allows bug fixes, for example, to be propagated to other branches where they should be applied. Read more about automatic merging in Stash.
A developer just needs to add the issue key to the title of the pull request, or have the key in the source branch name, for the PR to be automatically linked to the JIRA issue. Merge commits are not included.
See the status of code reviews at a glance
The Development panel shows the most relevant status of the Crucible reviews that are related to an issue. The review status is:
REVIEW if there is at least one open review.
APPROVAL if at least one review is ready for aproval.
SUMMARIZE if there are no open reviews, and at least one review has had all reviewers complete their reviews.
REJECTED if at least one review has been abandoned.
CLOSED if there are no open reviews or reviews ready to summarize, and at least one review has been closed.
To see details for those reviews, click the reviews link. You'll see the status of each review, who the author and reviewers are, who has yet to complete their review, and whether the review is overdue. You can also see the number of comments:
You can easily click through to see a particular review in Crucible.
A developer just needs to add the issue key to the title of the review, or link the issue from the review, for the review to be automatically linked to the JIRA issue.
Check if work on the issue has deployed as expected
The Development panel shows the environments to which related Bamboo builds for a JIRA issue have been deployed.
To see the details of recent deployments, click the Deployed link. You'll see the deployment status and the release number and date:
Of course, you can click through to see more details in Bamboo.
A deployment is linked to a JIRA issue if a commit involved in the deploy has the issue key in its commit message. When those code changes are later built (see above), and the resulting artifact is deployed (either manually or automatically) the environment information is passed to the JIRA issue. This assumes that the Bamboo build plan is associated with a deployment project in Bamboo.
Was this helpful?
Thanks for your feedback!