2.3.3 Better Downstream Integration
When an issue is raised in a software development project - e.g. a bug, Jira is a great way to document the issue details, the current status and its resolution. However, the work itself is actually not done in the issue tracking tool but in the source code of the software - and its completion not visible until the respective build has been deployed.
This is where Atlassian's wide range of integration interfaces with development tools kicks in.
- Source-Code repositories such as GIT, Bitbucket, or Subversion enable the display of source code commits within specific tickets.
- Peer-review applications like crucible let developers check changes their colleagues made to exchange views, approaches and ensure high quality.
- Continuous integration tools like Bamboo give visibility about deployment status of any fix and source-code peace. This is especially useful for hand-offs between development and QA.
Through these features, Jira achieves two benefits at the same time:
- Improved traceability throughout all adjacent systems in the development process through the deep integration.
- Improved productivity through the elimination of media breaks and immense reduction of clicks and overhead user activity to switch system and re-establish context.
Steps to demonstrate
- As user ""QA Guru"", create a ticket in Bonfire (see the Bonfire chapter for more details) and assign it to ""Developer Joe""
- As the ""Developer Joe"", open the IDE and select the created issue in the Jira app
- Activate the issue and edit source code. In the source code commit, if not already added, make sure the ticket number is noted in the commit comment
- Close the ticket
- Optional: Show that the source code was changed but that the change was not deployed. Go to Bamboo, run the tests and execute a deployment.
- Describe the situation that a day later, the deployment went live on the QA system and ""QA Guru"" finds a bug that he didn't see before and that he suspects is connected to the previously raised issue.
- As ""QA Guru"", raise a new bug with an issue link to the old bug.
- Unfortunately, ""Developer Joe"" is at a conference so that ""Scrum Master"" assigns the new bug to ""Developer Sarah"".
- Show how ""Developer Sarah"" opens the issue in Jira and sees the relevant source code commits.
- Open the respective IDE as user ""Developer Sarah"" and open the new bug.
- Change respective areas in the source code
- Optional: Open a new review in Eclipse for this commit and assign it to ""Developer Joe"" who can now see the changes ""Developer Sarah"" made and give comments. It seems to be a more complicated issue as one bug-fix caused another problem so through their collaboration, ""Developer Sarah"" and ""Developer Joe"" can resolve the problem.
- Optional: Show this source code activity in Fisheye
- Optional: Show how this commit makes its way into a Bamboo and how QA is notified once the change has been deployed to the QA environment.
Demonstration requirements
To demonstrate the downstream integration of Jira, application links with one or several systems needs to be implemented, depending on the desired of the demonstrated process:
- Create a link between Jira and at least a trial version of a source code repository system, such as GIT.
- Install a development environment such as Eclipse and install the respective IDE app for Jira.
- Configure your IDE with the source code system you installed and set your IDE to access Jira using the ""Developer Joe"" Jira account.
- Optional: Install and connect the trial version of Bamboo.
Also, you need to create the following users:
- QA Guru
- Developer Joe
- Developer Sarah
Demonstration on Jira.Atlassian.com
Although we will not be able to write any code on Jira.Atlassian.com, we can still see a number of examples how Atlassian uses its own developer tools in its product development.
- Open Jira.Atlassian.com.
- Create a new dashboard and add an activity stream gadget.
- For this gadget, only select Bamboo.
- Scroll through the activity updates and show how the systems are integrated.