Thoughts on technology and innovation
Ted Husted, Release Engineer
Once upon a time, when CVS ruled the earth, we used issue trackers, like Bugzilla and JIRA, to organize defect reports and help us squash bugs, over the web.
Before long, the development community realized that it was helpful to plan all code changes with an issue tracker and then to reference the issue ID in the commit message.
From its lowly beginnings as an bug tracker, JIRA has grown into a collaborative project management system that helps developers connect the dots. Today, JIRA is a master of integration: It's become the spider at the center of a web of change.
Let's take a look at how JIRA integrates with other members of the web-based Atlassian Suite.
JIRA with Bitbucket Source Control
First and foremost, document each and every commit with a JIRA Issue ID. Yes, each and every, without fail. Do this now.
This one simple ID reference prevents ambiguous commits and ensures that all the changes you make can be traced back to a planned issue.
When tied to Bitbucket, JIRA creates links to any pull requests or commits that mention the JIRA ID. You can literally click through from Bitbucket to JIRA, and from JIRA to Bitbucket. Traceability in action!
If you are using an issue tracker other than JIRA, start using whatever tracking ID you have. If you are not taking this step now, trust me, start.
JIRA with HipChat messaging client
Using the Confluence JIRA "macro", you can embed a JIRA filter that references a single JIRA issue, or an entire set, with the columns of your choosing.
A very good use of a Confluence JIRA macro is to create a simple change log (shown). The filter can reference the JIRA issues by version. Here, the best practice is to work from the Bitbucket commits, so that the change log only includes issues that changed the source code. Pretty simple, since Bitbucket automatically links each JIRA ID back to its issue.
When tied with Confluence, JIRA automatically surfaces "mentions" of JIRA IDs on Confluence pages. So, if you have a test plan in Confluence, and quite sensibly include the JIRA ID, JIRA says "aha!" and links the issue with the page on its own. It's so automatic that you don't even have to press a button!
As you march issues across a Scrum or Kanban board, JIRA can report those changes to the HipChat room of your choice.
For more about HipChat integrations, see this Atlassian blog.
JIRA with Agile
You can map the status of JIRA issues to an Agile board, designed for use with either Scrum or Kanban. Both board types support backlog management, and the Scrum board helps you manage issues across sprints. JIRA also supports the notion of Epics that contain more issues than we can complete in a sprint.
As Salesforce and Scrum developers, we find JIRA fits our process like a glove. As a DevOps engineer, I enjoy being able to surf between JIRA, Bitbucket, Confluence, and HipChat, to be sure all my ducks are still in a row.