Atlassian is an enterprise software company that provides software development and collaboration tools.They have softwares for planning, tracking users projects as well as it provides a wiki software to generate and store reports about projects. It makes it easy to follow projects workflow. It also provides a way to integrate one product with another to increase the flexibility of work process. Some of the softwares with core functionality are as follows:
- For Planning, Tracking and Supporting tools for project
- Jira Software:-Jira software tool is widely used by agile teams due to its fruitful features which include following:
- PLAN your project
- TRACK issue status
- Set RELEASE date for the project version
- REPORT team performance based on real-time
- Jira Service Desk: – It is a helpdesk solution offered by Atlassian. It is user-friendly and easy to setup. Service desk features include:
- Makes it easy to request help, track progress of issue resolution and search knowledge base
- Provides automation, queues, SLAs and many more
- Integration with JIRA software will fasten the issue resolution process
- Jira Core: – Jira core is a business project management software which allows user to see all project information at a glance. with Jira core user can perform following activities:
- Manage projects
- Monitoring details
- Measuring Performance
- Collaboration between the teams
- Confluence : It is a team collaboration system which allows teams to write content and share it with each other. Integrating Confluence with Jira makes issue creation quicker and reporting faster.
2. For Coding, Building and Shipping tools for project
- Bitbucket : It allows user to manage and share Git and Mercurial repositories to build and ship software. Bitbucket provides flexible deployments, unlimited private repositories and Bitbucket pipelines.
- Bamboo : Bamboo is used for continuous integration, deployment and release management. Using bamboo, a user can build a code, run automated tests, deploy projects and integrate with other Atlassian tools.
- SourceTree : It provides an interface to interact with Git and Mercurial repositories
We will discuss few Integrations which are proven to be very helpful in Development and Production Environment.
- Integration of Bamboo, Jira and Bitbucket
1.1 Bitbucket (Cloud) – Bamboo integration:
Bitbucket makes its repositories available for the Bamboo to be linked in its build/deployment plan and triggers the build in bamboo when the changes are pushed onto the linked repositories.
An user can link Bitbucket Repositories to Bamboo server as follows:
Bamboo Setting => Linked Repositories => Add Repositories => Select Bitbucket Cloud/Server
1.2 Jira – Bamboo Integration:
Jira-Bamboo Integration allows user to view Bamboo build activities directly on Jira’s activity stream. Integration is normally done by using “Application links”, from Jira go to Settings => Systems => Applications => Application Links and configure Bamboo server setup.
1.3 Bitbucket (Cloud) – Jira Integration:
This integration will allow an user to create branches for each separate issue from Jira into the Bitbucket. Following steps help Bitbucket integrate with Jira
Bitbucket Avatar => Settings => OAuth => Add Consumer
After adding consumer as a Jira, user will get Key/Secret key values from the system
Now switch to Jira and follow the path: Setting => Application => DVCS Accounts => Link Bitbucket Cloud or GitHub Account
Add OAuth key and Secret key and click Add
1.4 Confluence – Jira Integration:
JIRA and Confluence complement each other. User can display and create JIRA issues and more from within Confluence. To configure Confluence with JIRA follow this steps from Confluence.
Confluence Setting => User Management => Application Links => URL or IP of JIRA server. After that you will see JIRA has been added in Confluence’s application link.
As we are now aware how Atlassian products can be integrated with each other, let’s take a practical approach on how this integrations can be used in Development as well as in Production environment.
For that we need following prerequisites:
- Project hosted on Bitbucket Cloud
- Integration of Bamboo, Jira and Bitbucket
- Confluence – JIRA Integration (Optional)
Step 1: Bitbucket project integration with Bamboo
Import Bitbucket repository into Bamboo (e.g. Docker test) by following steps
Bamboo settings => Linked Repositories => Add Repositories (Fill out all necessary details about Bitbucket repository) => Save Repository.
After that Docker Test repository will be added into the list as shown in the image below:
Step 2: Make a Bamboo build
For a build we need to create a plan which can be created using these steps
Bamboo => Create => Create a new plan => under configure plan (Fill out all mandatory information) => click on Configure plan
In next window, add Task (if necessary) and click on Create
“Docker Test” plan is now ready, now enable plan by going into Action => Enable Plan => Run. After a successful build, Bamboo will show like this
Now you have a successful build in Bamboo.
Step 3: Create a new project in JIRA
JIRA => Projects => Create Project => Basic software development => Name =”Docker Test” => Create
Create an issue in Jira project (e.g. DT-4).
Step 4: Integration of Jira and Bitbucket Cloud
Now that you have an issue to work, you can start working on Issue by creating a new branch in Bitbucket without affecting the main codebase of project.
In order to do that, click on Create Branch from the left hand side panel (Assuming that you have already link your Bitbucket cloud with JIRA. If not, follow fig. 4)
After clicking on Create Branch, you will see following Window. Select appropriate repository and click on Create Branch
Newly created branch will be shown as per the Fig 16. You can start working on this branch by checking out in SourceTree or in local machine.
Step 5: Checkout in Source Tree
Click on Check out SourceTree and click Clone.
Fig. 17 Cloning a new repository on local
Go to the local directory where the project files are checked out (for example: C:\Users\yourpcname\Documents\docker_test4) and for testing purpose create one file named TESTPURPOSE.txt
Fig. 18 Creation of new file
Now open SourceTree, under File Status => Unstaged Files you will find newly created file (TESTPURPOSE.txt). Click “Stage all” to change file status from “Unstaged” to “Staged”.
Below in message box type the summary of commit, and click on “Commit” and you will get status in SourceTree like this.
Now click on “Push” from toolbar above. And you will get this window confirm it and click on push.
Step 6: Check Commits on Bitbucket and merge the issue branch
Open Bitbucket, under your project => Commits.
You will see latest commit has been updated into the Commits
After successfully committing changes into Bitbucket, follow these steps to merge a branch
Branches => click on the name of issue branch (e.g. DT-4 Issue) => Merge
After merging, a popup will show status of merge operation.
After successful merge, branch for issue (DT-4) will get automatically deleted. there will be no DT-4 Issue branch present in Bitbucket
Step 7: Checking Automatic Build Status on Bamboo
On Bamboo, changes in Bitbucket repository will trigger an automatic build and it will show “Code Commits”
Now go to “Issues” => “Add linked issue”, and give name of the issue for which Bamboo build has been built. (E.g. DT-4) and click on Save.
You can see your Bamboo build status as well as commit history for that particular build on JIRA’s Activity Stream. This way teams stays in collaboration with each other.
If the build was executed manually, Bamboo will show that by string “Manual run by <Username>” and if the build was triggered automatically, it will state that “Changes by <Username>” . This enable an user to differentiate between manually configured and automatically activated builds.
Step 8: Confluence – Jira Integration
We can integrate Confluence Space to specific project in Jira, generate report and create an issue within confluence to Jira project
8.1 First Create the Space in Confluence. To create space follow this,
Confluence => Spaces => Create Space => Select Appropriate type => Space Name (e.g. Docker Test)
8.2 Now Map this Space to the JIRA project (e.g. Docker Test)
Confluence space (e.g. Docker Test) => Space Tools => Integrations => Application Links => Add Link => Add desired project (e.g. Docker test).
You should see something like that,
Now Confluence Space is linked with JIRA project (e.g. Docker Test). For confirmation see “Activity Stream” in JIRA
8.3 Now create one Jira Report in Confluence so that we can see our Jira project’s status directly from Confluence. In order to do the same, follow these steps:
Create => Jira Report => Status Report => Select Project (e.g. Docker test) => Create. Configure the report as per requirement
This will help you not only in generating reports for a specific project of Jira into confluence but also flexibility of customizing the reports.
8.4 Let’s Create an Issue From Confluence for Specific project in JIRA (e.g. Docker Test)
For creating an Issue about project requirement, follow the steps as given below:
Create =>Product requirement => Create
Configure following required options:
- Page Title : Issue About Requirement
- Epic : Create New Issue => Select Project (e.g. Docker Test) => Issue Type => Summary
Also configure the issue as per user requirement and click on Publish option.
8.5 Following window will help you see the linkages between the issue requirement and JIRA issue “1 Jira Link”
8.6 Now switch to JIRA (e.g. Docker Test) and you will be able to see newly created issue from confluence.
This Way we can create an issue from Confluence, see project report directly in confluence and integrate Confluence scope into Jira project
1. Atlassian products integration provides trace ability and visibility across teams
2. It allows each team member to stay with the tool of their choice and keeps the entire product team on top of each issue’s implementation, quality, and release status
3. Makes it easy to track change sets, monitor source code edits and drill through source files
4. Provides continuous builds to keep everything updated with changes
5. Provides ease, independence and flexibility in a work
This blog depicts that integrating various Atlassian products such as JIRA-Bamboo-Bitbucket-Confluence provides an automatic and simpler way to handle agile methodologies efficiently. Also Integrating products increases the value of work and agility of team thus leading to a quicker turn around with a leaner team size.