JIRA Essentials Third Edition - Sample Chapter
JIRA Essentials Third Edition - Sample Chapter
ee
Sa
m
pl
JIRA Essentials
Third Edition
Over the years, JIRA has grown from a simple bug tracking system designed
for engineers to manage their projects to an all-purpose issue tracking solution.
As it has matured over time, JIRA has become more than an application, it has
transformed into a platform, with a suite of other products that are built on it,
enabling it to adapt and deliver value to a wide variety of use cases.
JIRA 6 is the latest major release of JIRA and its product family. It comes with
new features that include support for service desk applications and enhancements
made to existing features such as providing flexible and robust workflow design
and agile methodology support. In this book, we will cover all the basics of JIRA
and its core capabilities as a feature-rich, issue-tracking system, as well as
add-ons that add additional features to the JIRA platform.
Packed with real-life examples and step-by-step instructions, this book
will help you become a JIRA expert.
Chapter 4, Field Management, covers how JIRA collects data through the use
of fields and how to expand on this ability through the use of custom fields.
This chapter then continues with the various behaviors that can be configured
for fields.
Chapter 5, Screen Management, builds on the preceding chapter and explores
the concept of screens and how users can create and manage their own screens.
This chapter ties in all the previous chapters to show the power behind JIRA's
screen design capabilities.
Chapter 6, Workflows and Business Processes, explores the most powerful
feature offered by JIRA, workflows. The concept of issue life cycles is introduced,
and various aspects of workflows explained. This chapter also explores the relationship
between workflows and other various JIRA aspects that have been previously covered,
such as screens. The concept of JIRA extensions is also briefly touched in the sample
project, using some popular free extensions.
Chapter 7, E-mails and Notifications, focuses on how to get automatic e-mail
notifications from JIRA and explores the different settings that can be applied.
This is a very important and powerful feature of JIRA and also a critical part
of the example project featured in this book. This chapter also ties in the
workflow chapter and explains in detail how JIRA manages its
notification mechanism.
Chapter 8, Securing JIRA, focuses on the different security control features
offered by JIRA. As this topic affects all aspects of JIRA, all previous topics
are touched on, explaining how security can be applied to each. It also covers
LDAP integration, where you can hook up your JIRA with an existing LDAP
system for user management.
Chapter 9, Searching, Reporting, and Analysis, focuses on how data captured
in JIRA can be retrieved to provide various types of reporting features. It also
covers the changes introduced in JIRA 6.
Chapter 10, JIRA Service Desk, covers the new JIRA Service Desk product,
an add-on to transform JIRA into a fully-fl edged service desk solution. It looks
at installing add-ons, setting up service desks, and defining custom SLA metrics.
Chapter 11, Advanced Features, covers advanced features that can help to change
your JIRA into more than just a traditional issue tracking system. It looks at how
you can run agile projects with JIRA through the use of JIRA Agile and how you
can turn JIRA into an effective feedback collection system.
Issue Management
In the previous chapter, you saw that JIRA is a very flexible and versatile tool
that can be used in different organizations for different purposes. A software
development organization will use JIRA to manage its software development
lifecycle and bug tracking, while a customer services organization may choose to
use JIRA to track and log customer complaints and suggestions. For these reasons,
issues in JIRA can represent anything that is applicable to the real-world scenario.
Generally speaking, an issue in JIRA often represents a unit of work that can be acted
upon by one or more people.
In this chapter, we will explore the basic and advanced features offered by JIRA for
you to manage issues. By the end of this chapter, you will have learned the following:
[ 63 ]
Issue Management
Understanding issues
In JIRA, an issue can represent any number of things. In fact, an issue in a given
project may mean something that is very different in another project. So what an
issue really is depends on the context of what project it is in, and how you choose to
define and use JIRA. For example, an issue in a normal software development project
would often represent a software bug, while in a help desk project it can represent a
support request.
Despite all the different objects an issue can represent, there are a number of key
aspects that are common for all issues in JIRA, as follows:
It must have a type, otherwise known as an issue type, which indicates what
the issue is representing.
It must have a status. A status indicates where along the workflow the issue
is at a given time. We will discuss workflows in Chapter 6, Workflows and
Business Processes.
[ 64 ]
Chapter 3
[ 65 ]
Issue Management
Description
It shows the project the issue belongs to. The issue key is the
unique identifier of the current issue. This section acts as a
breadcrumb for easy navigation.
Issue Summary
These are the various view options for the issue. The options
include XML, Excel, and Word.
Issue Operations
These are the operations that users can perform on the issue,
such as edit, assign, and comment. These are covered in the later
sections of this chapter.
Workflow Options
This section lists the issue fields such as issue type and priority.
Custom fields are also displayed in this section. Fields will be
covered in Chapter 4, Field Management.
User Fields
Date Fields
This section is specific for date-type fields such as create and due
date. Fields will be covered in Chapter 4, Field Management.
These are the options that allow users to vote and watch an issue.
Attachments
Comments
These list all the comments that are visible to the current user.
Creating an issue
When creating a new issue, you will need to fill in a number of fields. Some fields are
mandatory, such as the issue's summary and type, while others are optional, such as
the issue's description. We will discuss fields in more details in the next chapter.
There are several ways in which you can create a new issue in JIRA. You can choose
any of the following options:
Chapter 3
This will bring up the Create Issue dialog box, as shown in the preceding screenshot.
As you can see, there are quite a few fields, and the required fields will have a red
asterisk (*) mark next to their names.
The administrator configures what fields will be part of the create dialog, but as a
user, you can customize and make your own create screen by hiding the optional
fields, by performing the following steps:
1. Click on the Configure Fields option at the top-right corner.
2. Select the Custom option.
[ 67 ]
Issue Management
3. Uncheck all the fields you want to hide, and check the fields that you want
to show.
There is a Create another option beside the Create button. By ticking this option
and then clicking on the Create button, the Create Issue dialog box will stay on
the screen and remember the values you have previously entered, such as priority,
components, and due dates. This way, you can avoid having to fill in the whole
dialog box again and will only have to update some of the fields that actually are
different, such as Summary. With this feature, you can rapidly create many issues in
a much shorter time frame.
Editing an issue
There are two ways in which you can edit an issue in JIRA. The first and more
traditional way is by clicking the Edit button or pressing E on your keyboard. This
will bring up the Edit Issue dialog with all the editable fields for the current issue.
This allows you to make changes to multiple fields at once.
[ 68 ]
Chapter 3
The second option is called in-line editing. With this feature, you will be able to
view the issue and edit the field you want on the spot, without having to wait for the
edit dialog to load. Scroll down to find the field. To edit a field in-line, all you have to
do is hover your mouse over the value for the field you want to update, wait for the
Edit icon to show up, click the icon, and start editing.
Deleting an issue
You can delete issues from JIRA. You might need to delete issues that have been
created by mistake or if the issue is redundant, although normally, it is better to
close and mark the issue as a duplicate. We will discuss closing an issue in Chapter 6,
Workflows and Business Processes.
Issue deletion is permanent in JIRA. Unlike some other
applications that may put deleted records in a trash bin, which
you can retrieve later, JIRA completely deletes the issue from
the system. The only way to retrieve the deleted issue is by
restoring JIRA with a previous backup.
[ 69 ]
Issue Management
2. Click on the Delete option from the More menu. This will bring up the
Delete Issue dialog box.
3. Click on the Delete button to remove the issue permanently from JIRA.
Deleting an issue permanently removes it from JIRA, along with all of its data
including attachments and comments.
[ 70 ]
Chapter 3
The second step allows you to map the current issue to the new project's workflow.
If the issue's status exists in the target project, the wizard will skip this step.
The third step shows all the fields that exist in the new project but not the current
project and which require a value. Again, if there are no missing fields, this step will
be skipped.
[ 71 ]
Issue Management
The fourth and last step shows you the summary of the changes that will be applied,
by moving the issue from project A to project B. This is your last chance to make sure
that all the information is correct. If there are any mistakes, you can go back to step
one and start over again. If you are happy with the changes, confirm the move by
clicking on Move.
Once the issue is moved, it will be given a new issue key based on the new project.
However, JIRA is still able to redirect you if you access the issue with its old issue key.
Chapter 3
To vote for an issue, simply click on the Vote for this issue link next to Votes. When
you have voted for an issue, the icon will appear as colored. When you have not yet
voted for an issue, the icon will appear gray. Note that you cannot vote for issues
you have created.
[ 73 ]
Issue Management
JIRA also shows how many people are actively watching the issue by displaying the
total watchers next to the watch icon. You can click on the number next to Watchers
to see the full list of watchers.
[ 74 ]
Chapter 3
Once this issue has been reassigned, its assignee value will be updated to the new
user. The new assignee will also receive a notification e-mail, alerting him/her of
the assignment. You can also un-assign an issue this way by simply selecting the
Unassigned option. Unassigned issues do not have an assignee and will not show up
on anyone's list of active issues.
You can press I on your keyboard to quickly assign the
issue to yourself.
If the user you are sharing the issue with does not have access
to the issue, he/she will not be able to see the issue's details.
[ 75 ]
Issue Management
Issue linking
JIRA allows you to create custom hyper-links for issues. This allows you to provide
more information to the issue. For example, for a support-type issue, you can link it
to a web page that contains information on how to resolve similar types of problems.
Another example will be to link the issue to other related issues.
[ 76 ]
Chapter 3
[ 77 ]
Issue Management
[ 78 ]
Chapter 3
After you have linked your issues, they will be displayed in the Issue Links section
on the View Issue page. JIRA will display the target issue's key, description, priority,
and status.
[ 79 ]
Issue Management
Issue cloning
When you need to create a new issue and you already have a baseline issue, JIRA
allows you to quickly create it with the data based on your existing issues, by cloning
the original one. Cloning an issue allows you to quickly create a new one with most
of its fields populated. For example, you might have two software products with the
same bug. After creating a bug report in one project, you can simply clone it for the
other project.
A cloned issue will have all the fields copied from the original issue; however, it is
a separate entity nonetheless. Further actions performed on either of the two issues
will not affect the other.
When an issue is being cloned, a Clone link is automatically created between the two
issues, establishing a relationship.
Cloning an issue in JIRA is simple and straightforward. All you have to do is specify
a new summary (or accept the default summary with CLONEtext at the front) for
the cloned issue:
1. Browse to the issue you wish to clone.
2. Select Clone from the More Actions menu. This will bring up the
Clone Issue page.
3. Type in a new summary for the new cloned issue.
4. Check the Clone Attachments checkbox if you also want to copy over all
the attachments.
5. Click on the Create button.
Once the issue is successfully cloned, you will be taken to the issue summary page
for the newly cloned issue.
[ 80 ]
Chapter 3
Time tracking
Since issues often represent a single unit of work that can be worked on, it is logical for
users to log the time they have spent working on it. You can specify an estimated effort
required to complete an issue, and JIRA will be able to help you track the progress.
JIRA displays the time tracking information of an issue in the Time Tracking panel at
the right-hand side, as shown in the following screenshot with its description:
Remaining: This represents the remaining time for the issue to be completed.
It is calculated automatically by JIRA based on the original estimate and
total time logged by users. However, the user logging work on the issue,
as described in the following section, can also override this value.
Logged: This represents the total time spent on the issue so far.
[ 81 ]
Issue Management
You can set several parameters on the Time Tracking page. As we will see in later
sections, these parameters will determine the time tracking behavior for JIRA, as
shown in the following table:
Parameter
Description
This is the number of working hours per day in JIRA. For example,
if this is set to 8 hours per day, when the user puts in 16 hours, JIRA
will automatically convert it to 2 days.
This is the number of working days per week in JIRA. For example,
if this is set to 5 days per week, when the user puts in 10 days, JIRA
will automatically convert it to 2 weeks.
Time format
This is the format in which JIRA will display time in the Time
Spent field.
Default Unit
This is the default time tracking unit if the user does not supply one.
Legacy Mode
This will make JIRA use the old time tracking behavior.
Copy Comment To
Work Description
[ 82 ]
Chapter 3
Logging work
Logging work in JIRA allows you to specify the amount of time (work) you have
spent working on an issue. You can log work against any of the issues, provided
that Time Tracking is enabled and you have the permission to do so. We will cover
permissions in Chapter 9, Searching, Reporting, and Analysis.
Perform the following steps to log work against an issue:
1. Browse to the issue you wish to log work against.
2. Select Log Work from the More Actions menu. This will bring up the Log
Work page.
3. Enter the amount of time you wish to log. Use w, d, h, and m to specify week,
day, hour, and minute, respectively.
4. Select the date you wish to log your work against.
5. Optionally, select how the remaining estimate should be adjusted.
6. Add a description to the work you have done.
7. Optionally, select who can view the work log entry.
[ 83 ]
Issue Management
When you log work on an issue, you have the option to choose how the Remaining
Estimate value will be affected. By default, this value will be automatically
calculated by subtracting the amount logged from the original estimate. You can,
however, choose other options available, such as setting the remaining estimate to a
specific value or reducing it by an amount that is different from the amount of work
being logged.
You can also click on the + sign in the Time Tracking
section to log time.
[ 84 ]
Chapter 3
Adding comments
By default, all logged-in users will be able to add comments to issues they can access.
Perform the following steps to add a comment to an issue:
1. Browse to the issue you wish to add a comment to.
2. Click on the Comment option in the Issue menu bar or press M on your
keyboard. This will bring up the Comment input section.
3. Type a comment into the text box. The text box will adjust its size as
you type.
4. Click on the Add button to add the comment.
[ 85 ]
Issue Management
Once a comment has been added, the comment will be visible in the Comments tab
in the Activity section. When you are creating comments, you can select who can
view your comment using the comment access control. This is very useful if you
have external users viewing the issue and you only want to share your comments
with internal users.
Permalinking a comment
From time to time, you will want to refer other people to a comment you made
previously. While you can tell them the issue and let them scroll down to the bottom
until they find your comment amongst hundreds of others, JIRA allows you to create
a quick permalink to your comment that will take you directly to the comment
of interest.
Perform the following steps to create a permalink for a comment:
1. Browse to the comment you wish to permalink.
2. Hover over the comment to bring up the comment management options.
3. Click on the permalink icon. This will highlight the comment in pale blue.
[ 86 ]
Chapter 3
You will now notice that your browser's URL bar will look something similar
to http://sample.jira.com/browse/DEMO-1?focusedCommentId=10100
&page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel#comment-10100 as a sample link (notice the focusedCommendId section
after the issue key). Copy and paste that URL and give it to your colleagues; once
they click on this link, they will be taken directly to the highlighted comment.
Attachments
As we have seen so far, JIRA uses fields such as summary and description to capture
data. This works for most cases, but when you have complex data such as application
log files or screenshots, fields become insufficient. This is where attachments come
in. JIRA allows you to attach files to issues as support documents.
[ 87 ]
Issue Management
On the Attachment Settings page, as shown in the following screenshot, there are
a few options that you will need to configure while enabling attachments in JIRA:
Description
Attachment Path
Attachment Size
This specifies the maximum size of the attachment that users can
upload. Default is 10 MB.
Enable Thumbnails
[ 88 ]
Chapter 3
Attachments are enabled and disabled globally across JIRA. You cannot selectively
enable or disable attachment functions on a per project basis. You can, however,
achieve a similar result by controlling the permission around who can attach files.
Permissions are discussed in Chapter 8, Securing JIRA.
Attaching files
JIRA allows you to attach any arbitrary file to issues. These can be image files,
Microsoft Office documents, and other binary files. Perform the following steps to
attach a file to an issue:
1. Browse to the issue you wish to attach a file.
2. Select Attach File from the More menu. This will bring up the Attach
Files dialog.
3. Click on the Browse button to select the file you wish to attach. You can
repeat this step to attach more than one file.
4. Optionally, provide a comment for the attached file. The comment will be
added as a normal comment to the issue.
5. Click on the Attach button.
[ 89 ]
Issue Management
Attaching screenshots
Apart from letting you attach any file to an issue, JIRA also allows you to directly
attach a screenshot from your system clipboard to issues. This saves you from having
to take a screenshot, save it as a physical file on the disk, and finally attach it to JIRA.
Perform the following steps to attach a screenshot:
1. Take a screenshot with your operating system. For example, if you are on
Windows, press the Print Screen key.
2. Browse to the issue you wish to attach a screenshot.
3. Select Attach screenshot from the More menu. This will bring up the
Attach screenshot dialog.
4. Press the Ctrl + V keys on your keyboard, and the screenshot will be pasted
into the panel above.
5. Enter a filename for the screenshot or accept the default name.
6. Click on the Upload button.
Description
Bug
Improvement
New feature
Task
[ 90 ]
Chapter 3
The default issue types are great for simple software development projects, but they
do not necessarily meet the needs of others. Since it is impossible to create a system
that can address everyone's needs, JIRA lets you create your own issue types and
assigns them to projects. For example, for a help desk project, you might want to
create a custom issue type called ticket. You can create this custom issue type and
assign it to the Help Desk project, and users will be able to log tickets, instead of
bugs in the system.
Issue types are managed through the Manage Issue Types page. Perform the
following steps to access this page:
1. Log in to JIRA as a JIRA administrator.
2. Browse to the JIRA administration console.
3. Select the Issues tab and then the Issue Types option. This will take you to
the Issue Types Administration page.
The preceding screenshot shows a list of default issue types along with custom issue
types created by the administrator.
[ 91 ]
Issue Management
[ 92 ]
Chapter 3
Subtasks
JIRA allows only one person (assignee) to work on one issue at a time. This design
ensures that an issue is a single unit of work that can be tracked against one person.
However, in the real world, we often find ourselves in situations where we need
to have multiple people working on the same issue. This may be caused by a poor
breakdown of tasks or simply because of the nature of the task at hand. Whatever the
reason, JIRA provides a mechanism to address this problem through subtasks.
Subtasks are similar to issues in many ways, and as a matter of fact, they are
a special kind of issue. They must have a parent issue, and their issue types are
flagged as subtask issue types. You can say that all subtasks are issues, but not
all issues are subtasks.
For every issue, you can have one or more subtasks that can be assigned and tracked
separately from another. Subtasks cannot have other subtasks. JIRA allows only one
level of subtasks.
Enabling subtasks
Subtasks are enabled by default. If you have subtasks disabled for some reason, you
will need to enable this feature.
Perform the following steps to enable subtasks in JIRA:
1. Browse to the JIRA administration console.
2. Select the Issues tab and then the Sub-Tasks option. This will take you to the
Sub-Tasks Administration page.
3. Click on Enable to enable subtasks in JIRA.
[ 93 ]
Issue Management
Creating subtasks
Since subtasks belong to an issue, you need to browse to the issue first before you
can create a new subtask:
1. Browse to the issue you wish to create subtasks for.
2. Select Create Sub-Task from the More Actions menu.
You will see a familiar Create Issue dialog box. However, one thing you will notice is
that, unlike when you are creating an issue, you do not select which project to create
the subtask in. This is because JIRA can determine the project value based on the
parent issue. You will also notice that you can only select issue types that are subtasks.
Other than these differences, creating a subtask is no different than creating a normal
issue. You can customize the fields shown in the dialog box and choose to rapidly
create multiple subtasks by selecting the Create another option.
Once the subtask has been created, it will be added to the Sub-Tasks section of the
parent issue. You will see all the subtasks that belong to the issue and their status. If
a subtask has been completed, it will have a green tick next to it.
[ 94 ]
Chapter 3
When a new issue type is created in JIRA, it is added to Default Issue Type Scheme.
This means that the new issue type will be available to all the projects by default.
This will become a problem when you start to have specialized projects such as help
desk, and issue types such as Bug become inappropriate.
To overcome this problem, JIRA lets us group a collection of issue types together.
We can also rearrange the order of the issue types within the collection so that they
appear in the drop-down list in a logical manner to the users. In effect, we create an
issue type scheme, a template for issue types, and their order, which can be reused
and applied to one or more projects.
We will create a new issue type scheme for our example of JIRA implementation
later in this chapter.
[ 95 ]
Issue Management
6. Select a Default Issue Type value. Note that this is optional, and you can
only select a default issue type after you have selected at least one issue
type for the new scheme.
7. Click on the Save button.
After the issue type scheme has been created, you will need to associate it with the
projects you want to apply the scheme to. The simplest way to do this is to click on the
Associate link for the issue type scheme, and then select the projects you want. This
allows you to apply the scheme to multiple projects at once. If there are already issues
of issue type that does not belong to the new issue type scheme, JIRA will prompt you
and walk you through to change the issue type value for all the affected issues.
[ 96 ]
Chapter 3
Issue priorities
Priorities help users to set the importance of issues. Users can first assign priority
values to issues and later use it to sort the list of issues they have to work on. Thus,
helping the team decide which issues to focus on first. JIRA comes with five levels
of priorities out of the box, as shown in the following screenshot:
You can customize this list by creating your own priorities. To create new priorities,
follow these steps:
1. Browse to the administration console.
2. Select the Issues tab and then the Priorities option.
3. Specify the name of the new priority.
4. Click the select image link to choose an icon for the priority.
[ 97 ]
Issue Management
5. Specify a color for the priority. You can either type in HTML color hex code
directly or use the color picker to help you select the color you want. The color
chosen here will be used when icon images cannot be displayed, such as when
you export issues to a spreadsheet.
6. Click on the Add button.
Priorities are global. This means that all projects will share
the same set of priorities.
A set of new issue types that are specific to our help desk project
[ 98 ]
Chapter 3
You should see both the Incident and Ticket issue types. However, this will only
make our new issue types available, but will not make them the only options when
creating a new issue for our project. Default issue types, such as Bug and New Feature,
which are not applicable for a help desk, are still available. By leaving them there, we
are running the risk of confusing the users and allowing mistakes to be made.
If you remember from previous discussions, we can address this problem with a new
issue type scheme. Let's go ahead and create one.
[ 99 ]
Issue Management
Putting it together
With everything created and set up, you can go back and create a new issue to see
how it all looks. If everything works out, you should see something similar to the
following screenshot:
As you can see, Incident and Ticket are the only issue types that can be selected
when creating a new issue for the Global Help Desk project.
Summary
In this chapter, we looked at what issues are in JIRA and explored the basic
operations of creating, editing, and deleting issues. We also looked at the advanced
operations offered by JIRA to enhance how you can manipulate and use issues, such
as adding attachments, creating subtasks, linking multiple issues, and so on.
In the next chapter, we will look at fields and what we can do with them.
[ 100 ]
www.PacktPub.com
Stay Connected: