About Atlassian:

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:

  1. 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:
  1. PLAN your project
  2. TRACK issue status
  3. Set RELEASE date for the project version
  4. 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:
  1. Makes it easy to request help, track progress of issue resolution and search knowledge base
  2. Provides automation, queues, SLAs and many more
  3. 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:
  1. Manage projects
  2. Monitoring details
  3. Measuring Performance
  4. 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.

  1. Integration of Bamboo, Jira and Bitbucket
 Integration of Bamboo-Jira-Bitbucket
Fig.1 Integration of Bamboo-Jira-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

Fig. 2 Integration of Bitbucket with Bamboo
Fig. 2 Integration of Bitbucket with Bamboo

 

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.

Fig. 3 Integration of Jira-Bamboo
Fig. 3 Integration of Jira-Bamboo

 

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

Fig. 4 Integration Bitbucket with Jira
Fig. 4 Integration Bitbucket with Jira

 

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

Fig. 5 DVCS accounts
Fig. 5 DVCS accounts

 

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.

Fig. 6 Confluence-Jira Integration
Fig. 6 Confluence-Jira Integration

 

Integration Illustration:

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:

  1. Project hosted on Bitbucket Cloud
  2. Integration of Bamboo, Jira and Bitbucket
  3. Confluence – JIRA Integration (Optional)

 

Integrations Steps
Fig.7 Integrations Steps

 

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:

Fig .7 Adding Repository into Bamboo
Fig .8 Adding Repository into Bamboo

 

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

Fig. 8 Bamboo plan configuration
Fig. 9 Bamboo plan configuration

 

In next window, add Task (if necessary) and click on Create

Bamboo Task
Fig. 10 Bamboo Task

 

“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

 Bamboo Build
Fig. 11 Bamboo Build

 

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

Fig. 12 New Jira project
Fig. 12 New Jira project

 

Create an issue in Jira project (e.g. DT-4).

Fig. 13 Issue Creation in Jira
Fig. 13 Issue Creation in Jira

 

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)

Fig. 14 Create a branch
Fig. 14 Create a branch

 

After clicking on Create Branch, you will see following Window. Select appropriate repository and click on Create Branch

Fig. 15 Bitbucket branch creation
Fig. 15 Bitbucket branch creation

 

Fig.16 Checkout in SourceTree
Fig.16 Checkout in SourceTree

 

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.

c-users-devendrapc-desktop-blog-pics-new5-png

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

c-us

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.

Fig. 19 Commits in SourceTree
Fig. 19 Commits in SourceTree

 

Now click on “Push” from toolbar above. And you will get this window confirm it and click on push.

Fig. 20 Push from SourceTree
Fig. 20 Push from SourceTree

 

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

Fig. 21 Commits on Bitbucket
Fig. 21 Commits on Bitbucket

 

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

Fig. 22 Merge Branch into Master
Fig. 22 Merge Branch into Master

 

After merging, a popup will show status of merge operation.

Fig. 23 Commits Details
Fig. 23 Commits Details

 

After successful merge, branch for issue (DT-4) will get automatically deleted. there will be no DT-4 Issue branch present in Bitbucket

Fig. 24 Bitbucket after merging issue branch into master
Fig. 24 Bitbucket after merging issue branch into master

 

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

Fig. 25 Code commits on Bamboo
Fig. 25 Code commits on Bamboo

 

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.

Fig. 26 Linked issue for Bamboo build
Fig. 26 Linked issue for Bamboo build

 

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.

Fig. 27 Jira Activity Stream
Fig. 27 Jira Activity Stream

 

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.

Fig. 28 Bamboo Summary
Fig. 28 Bamboo Summary

 

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)

Fig. 29 Space in Confluence
Fig. 29 Space in Confluence

 

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,

Fig. 30 Integration of Space and Jira project
Fig. 30 Integration of Space and Jira project

 

Now Confluence Space is linked with JIRA project (e.g. Docker Test). For confirmation see “Activity Stream” in JIRA

Fig. 31 Jira activity stream
Fig. 31 Jira activity stream

 

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

Fig. 32 Report Details
Fig. 32 Report Details

 

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
Fig. 33 Create an Issue from Confluence
Fig. 33 Create an Issue from Confluence

 

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”

Fig. 34 Product Requirement
Fig. 34 Product Requirement

 

8.6 Now switch to JIRA (e.g. Docker Test) and you will be able to see newly created issue from confluence.

Fig. 35 Jira Issue Creation via Confluence
Fig. 35 Jira Issue Creation via Confluence

 

This Way we can create an issue from Confluence, see project report directly in confluence and integrate Confluence scope into Jira project

Advantages:
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

Conclusion:
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.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


CAPTCHA Image
Reload Image