Advanced JIRA 5.2 Features

Exclusive offer: get 50% off this eBook here
JIRA 5.2 Essentials

JIRA 5.2 Essentials — Save 50%

Learn how to track bugs and issues, and manage your software development projects with JIRA book and ebook.

$38.99    $19.50
by Patrick Li | August 2013 | Enterprise Articles

In this article by Patrick Li, author of JIRA 5.2 Essentials , we will take a look at two add-ons that can transform your JIRA to be more than just a simple issue-tracking system. By the end of the article, you will have learned how to:

  • Run agile projects in JIRA with GreenHopper
  • Collect feedback from visitors directly on your website with Issue Collector

(For more resources related to this topic, see here.)

GreenHopper

So far, you have seen and used JIRA as a traditional issue-tracking system, where users can log issues and transition them through workflows. With the recent increased adoption of agile development methodologies, it is clear that JIRA by itself is not enough, and this is where GreenHopper comes in.

GreenHopper adds the power of agile methodologies to JIRA, by providing a new user interface to help you and your team plan and visualize the tasks you have at hand. GreenHopper is a separate product and does not come with JIRA. So the first step for us is to install it via the Marketplace.

Getting GreenHopper

GreenHopper is a commercial add-on provided by Atlassian. We can discover and install add-ons directly from JIRA through the Universal Plugin Manager. Perform the following steps to install GreenHopper via the UPM:

  1. Browse to Universal Plugin Manager.
  2. Select the Find New Add-ons tab.
  3. Search for GreenHopper in the search box. This will locate the add-on GreenHopper - Agile project management for JIRA.
  4. Click on on the Free Trial button if you want to evaluate GreenHopper before purchasing, or click on the Buy Now button to purchase directly. This will prompt the UPM to start downloading and installing the add-on.
  5. Click on the Get License button when prompted, and follow the steps to either generate a trial license or purchase a full license:

After you have successfully installed GreenHopper, there will be a new item added to JIRA's top menu bar called Agile, as shown in the following screenshot:

Starting with GreenHopper

Before we start using GreenHopper, the first thing you need to understand is that GreenHopper adds a new user interface to JIRA, allowing you to better visualize the data you already have in JIRA. For example, an issue in GreenHopper is the same as an issue in JIRA, and you can go back and forth between the two user interfaces.

Now that the relationship between GreenHopper and JIRA is clear, we need to familiarize ourselves with a number of new terminologies that we will be using.

Scrum

Scrum is an agile software development methodology, where the development team plans and works on the project iteratively and incrementally to complete the project.

You can read more on Scrum at http://en.wikipedia.org/wiki/Scrum(development).

Kanban

Kanban is a methodology where the focus is to visualize and limit the amount of work that is in progress. Kanban allows the project team to focus on delivering custom value.

You can read more on Kanban at http://en.wikipedia.org/wiki/Scrum(development).

Board

A board is what GreenHopper uses to display and visualize issues in JIRA. You can think of it as a traditional white board, where you will have sticky notes representing the tasks to be completed.

Card

Following the preceding white board analogy, a card is the sticky note that represents the task to be done. With GreenHopper, a card is an issue, visualized differently:

Story

Stories or user stories represent requirements or features that are to be implemented. They are usually written in a non-technical language and describe what needs to be done and whom the requirement is designed for (e.g. the end user, the administrator), in a few short sentences.

In GreenHopper, a story is represented as an issue of type User Story.

Sprint

Sprints also known as iterations, are used in iterative agile development methodologies, such as Scrum. A sprint has a specific duration (that is, a start and end date) and is usually between one to four weeks, in which the team works to deliver a portion or an improvement of the whole product or project.

Epic

An epic is a large user story that has not yet been broken down into smaller, more manageable stories, usually a group of related stories. Epics should be broken down into their component stories during the planning session, before becoming part of a sprint.

In GreenHopper, an epic is represented as an issue of type Epic.

Backlog

The backlog contains all the issues that have not yet been included in a sprint.

Working with boards

To start working with GreenHopper, you need to get familiar with boards. You can view and access boards from the Manage Boards page, by pulling down the Agile menu and selecting Manage Boards. From the Manage Boards page, you will see all the boards that are shared with you. The following screenshot shows three boards, two are shared with Sample Project, and one is not shared at all, making it a private board:

GreenHopper has two types of boards, Scrum and Kanban. The Scrum board is designed to support the Scrum methodology, where teams plan and work in sprints. Scrum boards have access to all three modes mentioned above.

The Kanban board is designed to support the Kanban methodology, where teams focus on managing and constraining their work in progress. Since Kanban does not have a planning session like Scrum, its boards do not have the Plan mode.

There are three modes for GreenHopper boards, namely Plan, Work, and Report:

  • Plan: This is where you plan your sprints. This mode is only available to Scrum boards.
  • Work: This is where cards (issues) are progressed (workflow transition) from one column (issue status) to another.
  • Report: This contains a number of built-in reports and charts such as the Burndown chart (Scrum) and Control chart.

The following screenshot shows an example of a Scrum board in the Plan mode:

Creating a new board

There are two ways to create a new board. You can create either a new Scrum or Kanban board. Perform the following steps to create a new board from presets:

  1. Bring down the Agile menu and select Manage Boards.
  2. Click on the Tools option at the top-right and select Create Board.
  3. Choose to create either a Scrum or Kanban board.
  4. Provide a name for the new board.
  5. Select the project the new board is for.
  6. Click on the Create button.

When creating a new board based on the presets, GreenHopper will automatically generate the necessary JQL queries based on the selected project. For a Scrum board, it will include all the issues in the project, while for a Kanban board, it will include all the issues that do not belong to a released version.

Creating a new board based on the presets is simple and fast but each board is linked to a project only. You can also create a new board with a filter, and this way, you can control what issues will be added to the board. One thing to keep in mind is that you can only create Kanban boards this way. You cannot create a Scrum board with a filter.

Perform the following steps to create a new Kanban board with a filter:

  1. Bring down the Agile menu and select Manage Boards.
  2. Click on the Tools option at the top-right and select Create Board.
  3. Select the Advanced option.
  4. Provide a name for the new board.
  5. Select a filter you want to use.
  6. Click on the Create button.
JIRA 5.2 Essentials Learn how to track bugs and issues, and manage your software development projects with JIRA book and ebook.
Published: April 2013
eBook Price: $38.99
Book Price: $64.99
See more
Select your format and quantity:

Working with Scrum boards

Teams that work with the Scrum agile methodology should use Scrum boards, which as we have seen, can be created with the Scrum preset. Scrum boards have a Plan mode, which lets you create epics, add stories to epics, and set up sprints.

Working with Epics

As you have already seen, an epic is a large user story, which needs to be broken down during the planning session before the start of a sprint.

You can create epics directly on your Scrum board in GreenHopper. Perform the following steps to create a new epic:

  1. Browse to your Scrum board and make sure you are in the Plan mode by clicking on Plan at the top-right.
  2. Click on the plus (+) button in the Epic Panel to the left.
  3. Provide a name for your new epic in the Epic Name field. The epic name is what will be used to identify other issues, such as stories that are linked to it.
  4. Provide a summary for the new epic. It should be a short.

As shown in the following screenshot, the Create Epic dialog box looks very similar to the normal Create Issue dialog box. In GreenHopper, when creating a new epic, you just create a new issue of type epic in JIRA. This means that you can create epics via the traditional method as well:

After you have created your epic, you can start adding issues to it. Adding issues to an epic allows you to group similar stories together. You can add new as well as existing issues to an epic.

Perform the following steps to add a new issue to an epic:

  1. Browse to your Scrum board and make sure you are in the Plan mode by clicking on Plan at the top-right.
  2. Click on the triangle icon next to the epic's name to expand the epic's details.
  3. Click on the Create issue in epic link.
  4. Create the issue as per normal.

By default, GreenHopper will assume that you are creating a new story under the epic, but you can change the issue type for other types of issues.

Perform the following steps to add an existing issue to an epic:

  1. Browse to your Scrum board and make sure you are in the Plan mode by clicking on Plan at the top-right.
  2. Drag-and-drop the issue onto the epic you want to add it to. The epic will turn green when the issue is dragged onto it.

Working with sprints

During your planning sessions, you and your team will need to decide what issues in the backlog will be in your next sprint. To create a new sprint in GreenHopper, all you have to do is to click on the Create Sprint button in your backlog.

After creating your new sprint, you can drag-and-drop issues from your backlog into the sprint, or you can add issues from your backlog by dragging the sprint marker or footer down, and all issues that are above the marker will be automatically added to the sprint. You can add issues from the backlog or other sprints that have not yet started, but not issues that are a part of an active sprint.

After creating your next sprint and including issues to be completed, you are ready to start your sprint. Perform the following steps to start a sprint:

  1. Browse to your Scrum board and make sure you are in the Plan mode by clicking on Plan at the top-right.
  2. Click on the Start Sprint link. This will bring up the Start Sprint dialog box.
  3. Specify a name for the sprint if you want to change it.
  4. Specify the start and end date for the sprint.
  5. Click on the Start button to start the sprint, and you will be taken to the Work mode of the board:

On the last day of the sprint, as specified when you started it, you can end it. Any issues that have not been completed will be returned to the backlog or the next available sprint if there is one. Perform the following steps to end a sprint:

  1. Browse to your Scrum board and make sure you are in the Plan mode by clicking on Plan at the top-right.
  2. Bring down the menu next to the name of the sprint.
  3. Click on the Complete Sprint… button:

Working with Kanban boards

There is no Plan mode in Kanban boards, and you start in the Work mode directly. With Kanban, the focus is on visualizing and understanding what you and your team are working on, and also limiting the amount of work in progress.

So, with each Kanban board, you can set a minimum and maximum constraint on the number of issues that can be within each of the columns, and if the constraints are exceeded, the board will alert you of that. The following screenshot shows a Kanban board in the Work mode, and as you can see, the In Progress column is highlighted in red to indicate that the constraint placed on the column has been exceeded:

Setting up column constraints

Each column on a Kanban board can have its own minimum and maximum constraints. Perform the following steps to set up the constraints for a board:

  1. Browse to your Kanban board and make sure you are in the Work mode by clicking on Work at the top-right.
  2. Bring down the Tools menu and click on the Configure option.
  3. Select the Columns tab.
  4. Select the type of Column Constraint.
  5. Specify the minimum and maximum constraint values for each of the columns you want to place a constraint on. The constraints will be saved automatically.

The following screenshot shows that we are limiting the maximum number of issues that can be in the To Do and In Progress columns to 10 and 5 respectively, and the minimum number of issues in the Done column to 5:

Releasing a version

Since Kanban does not have sprints, instead of ending a sprint in the Work mode, you release a version. While releasing a version from a Kanban board, a new version will be created in JIRA, and all issues that are released, as part of the version will automatically have their Fix Version/s field set to the new version. Perform the following steps to release a version from a Kanban board:

  1. Browse to your Kanban board and make sure you are in the Work mode by clicking on Work at the top-right.
  2. Click on the Release link at the top of the Done column.
  3. Provide a new name for the new release version.
  4. Specify the release date; usually today's date.
  5. Provide an optional description for the release.
  6. Click on the Release button.

Setting GreenHopper as the home page

By default, the JIRA home page will be the dashboard. But after a while, you may find that you are working in the GreenHopper interface more and more and would like to default the home page to your board instead. You can do this by performing the following steps:

  1. Click on on the triangle icon next to your name at the top right to bring down your user menu.
  2. Select Agile under the My JIRA Home heading:

After setting your home to Agile, the next time you log in or click on the JIRA icon at the top left-corner, you will be taken to your last visited GreenHopper board instead of the standard JIRA dashboard.

Issue Collector

JIRA is a great system to track and manage issues, but one of the challenges is that it can be overwhelming at times for users who are not familiar with JIRA to get started quickly. Another challenge is that there is not a simple way to take advantage of JIRA's issue-tracking capability and making it available to other websites, such as an Intranet. Just like GreenHopper, a new add-on, the Issue Collector has been created to address these issues.

Issue collector is another add-on from Atlassian, and is bundled with JIRA. However, if for some reason you do not have it, you can still get it from the Marketplace and install it via the UPM.

With the issue collector, you can embed a feedback form directly in your website and collect feedback from visitors and automatically push that feedback into JIRA. The major advantages of using the issue collector are as follows:

  • Visitors do not need to have a JIRA account. The extra step of having to create a new account can be a turn off for some people.
  • Visitors can provide their feedback on the spot without having to go to JIRA. In fact, they do not even know that JIRA exists.
  • The feedback form is very simple to use, unlike the create issue dialog box, which can be complicated.

When embedded, the feedback form is accessed via a trigger, usually a tab positioned at the edge of the web page. You can control the position of the trigger while adding an issue collector in JIRA. The following screenshot shows an issue collector with a trigger at the right edge of the page:

Setting up an issue collector

Issue collectors are created on a per-project basis, so when a user submits his/her feedback with the form, JIRA will know which project to create the issue in. Perform the following steps to set up a new issue collector for a project:

  1. Browse to the Project Administration console for the project you want to use an issue collector with.
  2. Select the Issue Collectors tab at the left.
  3. Click on the Add Issue Collector button.
  4. Fill in the form (see the following table) and click on Submit.

The Add Issue Collector page is divided into three major sections. The first section requires you to provide some basic information for the issue collector. The most important parameter is Issue Type and Issue Reporter. The following table lists all the parameters needed to create a new issue collector:

Field

Description

Name

This specifies the name of the issue collector. You should use a name that conveys the purpose of the issue collector.

Description

This specifies some more descriptive text about the issue collector.

Issue Type

This specifies the issue type for new issues created via the issue collector form.

Issue Reporter

This specifies the default user that will be used to create issues when issues are created.

Match Reporter

This specifies whether new issues should always be created with the issue reporter, or if JIRA should try to match the user with an e-mail or if there is an active session with JIRA.

Collect Browser Info

Tick this option if you want to collect additional information from the user's browser.

Trigger Text

This specifies the text that will be displayed on the Trigger tab.

Trigger Style

This decides where you would like the Trigger tab to appear on the page. If you choose the Custom option instead of creating a Trigger tab, you will get a JavaScript code snippet that will let you control and use other elements on the page as the trigger, by replacing the #myCustomTrigger text.

Template

This chooses what the feedback form will look like. You can also create your own form by choosing the Custom option.

Message

This specifies the message that will be displayed in the info panel on the feedback form.

For the Trigger and Issue Collector Form sections, the Add Issue Collector page has preview panels to help you visualize the end result of what it might look like once it is embedded into your website.

Embedding the issue collector

After creating the new issue collector, you will be able to embed it in your website. JIRA offers two options to embed an issue collector, either via HTML or JavaScript.

Embedding via HTML requires you to have the ability to modify the HTML page you want to embed your issue collector into. If you want the issue collector to appear on every page on your website, you will need to have a common HTML page that can be included in all the pages, such as a header HTML.

Embedding via JavaScript allows you to add the generated code as a part of an existing JavaScript file that is already been included in the page. Again, this requires you to have the ability to modify the JavaScript file. This option also requires the jQuery library to be available, so you will need to make sure you have included jQuery before calling the generated code, as follows:

<script src = "http://code.jquery.com/jquery-latest.js"></script>

Perform the following steps to embed your issue collector in your website:

  1. Select either the Embed with HTML or Embed with JavaScript option under the Embed this Issue Collector section.
  2. Copy the contents from Code to insert text area, and paste the code snippet into the appropriate location of your page.

You can also click and expand the More Instructions section to get more details and examples on how to do this.

The following screenshot shows an example of an issue collector embedded in Atlassian Confluence, an enterprise wiki solution:

Summary

In this article, we learned to expand JIRA beyond being just a simple issue-tracking system. Note that both GreenHopper and Issue Collector simply build on top of the JIRA platform, taking advantage of its already robust issue management features and present the users with new interfaces and ways to interact and use JIRA. There are many other great add-ons available in the Marketplace that will make using JIRA a much more enjoyable and productive experience for you and your team.

Resources for Article:


Further resources on this subject:


JIRA 5.2 Essentials Learn how to track bugs and issues, and manage your software development projects with JIRA book and ebook.
Published: April 2013
eBook Price: $38.99
Book Price: $64.99
See more
Select your format and quantity:

About the Author :


Patrick Li

Patrick Li is the cofounder and senior engineer of AppFusions. AppFusions is the leading Atlassian partner specializing in integration solutions with many enterprise applications and platforms, including IBM Connections, Jive, Google Apps, Box, SugarCRM, and more.

He has worked in the Atlassian ecosystem for over five years, developing products and solutions for Atlassian platform and providing expert consulting services. He is one of the top contributors to the Atlassian community, providing answers and suggestions on the Atlassian user forum.

He is extensively experienced in designing and deploying Atlassian solutions from the ground up, and customizing existing deployments for clients across verticals such as Healthcare, Software Engineering, Financial Services, and Government Agencies.

Books From Packt


JIRA Development Cookbook
JIRA Development Cookbook

JIRA 4 Essentials
JIRA 4 Essentials

JIRA 5.x Development Cookbook
JIRA 5.x Development Cookbook

Selenium 2 Testing Tools: Beginner’s Guide
Selenium 2 Testing Tools: Beginner’s Guide

Selenium Testing Tools Cookbook
Selenium Testing Tools Cookbook

VMware ThinApp 4.7 Essentials
VMware ThinApp 4.7 Essentials

Java EE 6 Cookbook for Securing, Tuning, and Extending Enterprise Applications
Java EE 6 Cookbook for Securing, Tuning, and Extending Enterprise Applications

VMware View 5 Desktop Virtualization Solutions
VMware View 5 Desktop Virtualization Solutions


Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software