Professional Documents
Culture Documents
Admin Workbook
Templates for the application administrator to set up,
clean up, and maintain JIRA
Rachel Wright
JIRA Strategy Admin Workbook
Templates for the application administrator to set up, clean up, and maintain JIRA
jirastrategy.com
Copyright @ 2016 by Industry Templates, LLC
ISBN-13: 978-1539090229
ISBN-10: 1539090221
Download the worksheets, templates, and companion materials for this book from the JIRA Strategy
Store at: jirastrategy.com/store.
Copyright
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means without the prior written permission of the publisher, except in the case of brief quotations
embedded in articles or reviews.
Trademarks
JIRA Strategy Admin Workbook, the publisher logo, and the cover image are trademarks of Industry
Templates, LLC.
Any trademarks, service marks, product names, or named features are assumed to be the property
of their respective owners. They are used only for reference and there is no implied endorsement.
The author and publisher are not associated with any product or provider mentioned in this book.
Notice of Liability
The information in this book is distributed on an "As Is" basis, without warranty. The publisher and
the author assume no responsibility for errors or omissions, or for damages resulting from the use of
the information contained in this book. Use of the information and instructions contained in this
work is at your own risk.
Format
The content is published in a number of formats. Some content that appears in print may not be
available in electronic formats and vice versa.
I dedicate my first book to Chris, who changed the trajectory of my life forever.
About the Author
Rachel Wright is an entrepreneur, process engineer, and Atlassian
Certified JIRA Administrator. She started using JIRA in 2011 and
became a JIRA administrator in 2013. She is the owner and founder
of Industry Templates, which helps companies grow, get organized,
and develop their processes.
Atlassian Awards
Atlassian Certified JIRA Administrator
jirastrategy.com/link/cert-badge
March 2016
The wonderful reviewers and editors who vetted my recommendations, clarified my thoughts, and
helped make this book a useful resource are:
Matt Doar
Chief Toolsmith at ServiceRocket and author of Practical JIRA
Administration (jirastrategy.com/link/practical-admin)
My favorite thing about JIRA is it’s better than spreadsheets and much
better than email for keeping track of what you and the team are doing.
The best thing about JIRA is the community.
André Lehmann
Certified JIRA Administrator, Evangelist
My favorite thing about JIRA is how it can be easily deployed to all teams
in your organization, including software teams, HR, Finance or
Marketing. JIRA is the most user friendly tool I have ever worked with.
I was told that the JIRA Expense Claim system I created was too
complicated. But then I watched the Sales team (our least technical user
group) use it quickly to process their claims. There’s nothing like expense
reimbursement to motivate people!
Billy Poggi
Servant Leader, Adventurer, Northern Virginia Atlassian User Group Leader
Using JIRA, I enabled the flow of information from chaos into an organized
and referenced source for a fast paced research project full of talented
people. JIRA, and its abilities to integrate with many systems, brought
light to the great efforts of the teams and helped turn research into
solutions!
Kimmoy Matthews
Master of making things easy to understand
I can hear the cheers from everyone in the JIRA community when I
express that one of my favorite quotes is “If you can’t explain it simply,
you don’t understand it well enough.” ~ Albert Einstein
Sheri Breault
Master of making things look good
• Hatim Khan, Technical Architect at The College Board, and Mariano Goldman Senior Java
Developer at Atlassian, for introducing me to JIRA.
• My cat Lynx, who caused the mistake featured in the “Announcement Banners” section.
Pledge 1%
Pledge 1% is a corporate philanthropy movement dedicated to making the
community a key stakeholder in every business. As a proud member of this
program, Industry Templates, LLC annually donates 1% of sales, product, and
employee time to help the community. As the owner and founder of Industry
Templates, LLC, I'm happy to have built a company that makes community
involvement a priority. My mother taught me that there is a right way to do
things. She taught me to be thankful for what I have and use my skills to help
others. I want to help and to motivate others to do the same.
Are you part of a non-profit who needs JIRA help? Contact Industry Templates, LLC at:
info@industry-templates.com.
Table of Contents
I was immediately amazed by what JIRA offered us. We were able to track all our work, not just our
bugs. The flexibility to work differently between projects and between issue types was something I
hadn't seen before. The ease of customization had me dreaming of all the ways we could improve
our processes. I found myself immersed in the user documentation, reviewing the internal materials
produced for the transition, and even helping others use this new application. I moved from being a
typical end user, to an application administrator, strategist, and trainer. JIRA administration became
an obsession and was easily the best part of my workday.
Today, I use JIRA and other Atlassian tools at my primary job, as a volunteer with the Atlassian User
Group program, to run my side business, and even at home. At home, JIRA tracks "bucket list"
items, personal goals, and my asset list, for insurance purposes. I use Confluence to collaborate
with family members, plan trips, track "to do" items, and capture research details for major
purchases. This book was written in Confluence and the book writing progress was tracked in JIRA.
These tools have become a vital part of my personal and professional life. It's safe to say I'm a huge
Atlassian fan.
jirastrategy.com | 1
Introduction: A Tale of Three Companies
There were once three companies. The first had a brand new JIRA instance that was smartly set up
and implemented. Everything was carefully planned and executed. The projects, issue types,
workflows, and other settings were standardized and built for needs of the users. All the
configurations and processes were documented and the users were well-trained. The transition from
an old issue tracking tool was simple and all the users were happy. The application was pruned and
maintained like a beautiful garden. Its administrators were carefully selected process leaders
who routinely cared for and meticulously shaped the garden's growth.
The second company had the complete opposite set up. Their JIRA instance was old and it had not
matured or changed in tandem with the organization. There were no standards, no recognizable
patterns, and no documentation. There was a free-for-all mentality that resulted in an
overgrown swamp of data. Anyone that desired a project customization was instantly made an
application administrator and had to make their own changes. Those changes were made without a
strategy and without regard for their impact on other projects or the application as a whole. The
swamp became more and more unmanageable each day.
The third company wanted JIRA to look and act like all their other internal applications. They spent
many months making visual and functional customizations. Eventually, so much had changed that
they couldn't upgrade without wiping out all the custom elements. Their users weren't able to take
advantage of all the new features and functions available in newer versions. One by one their add-
ons became unsupported and their application reached the dreaded "end-of-life" support status.
The recommendations in this book are a result of working in these environments and digging them
out of the swamp. Included are best practices, dos and don’ts, and recommendations you can adapt
to fit your company. Would you rather have an organized, tidy, and trimmed garden or a
foggy, contaminated, overgrown swamp?
• part-time Application Administrator who helps out with JIRA in addition to your "official"
role;
• Project Manager, Business Analyst, or other team member, who needs JIRA to fit the
needs of your teams; or the
This book also will not address JIRA Agile or JIRA Service Desk-specific strategies. Those topics
deserve dedicated books.
This book does not address JIRA Agile or JIRA Service Desk-specific strategies. However, this book
will help you establish and streamline vital processes. We'll do this using applicable examples and
easy to understand worksheets. As a result, your maintenance tasks will become easier to complete.
Customization requests from end users will be easier to respond to and accommodate. You may
even experience improved application stability and quicker user adoption.
Information in this book applies to both the JIRA Server "Download" version as well as the JIRA
Cloud "On Demand" version. Its language is tailored to JIRA 7 but the concepts apply to most
released versions.
1. are familiar with the purpose and use of an issue or project tracking tool;
3. have a willingness to think before you click in the JIRA Administration area!
While not all examples and recommendations may apply to your situation, you are encouraged to
consider the information and adapt it to your needs.
Any of the following additional skills will enhance your success: familiarity with process management
(software or otherwise), project management expertise, database management experience, inter-
department communication and liaison skills, the ability to train others, and a focus on long term
thinking and overall strategy.
Book Structure
The book is organized into six main chapters. "Part 1: Setting the Foundation" and "Part 2: Project
Configuration" address set up for a new application and concepts to enhance an existing application.
"Part 3: Fix and Clean JIRA Up" is for auditing and improving an existing application. "Part 4:
Maintenance" is about upgrading and maintaining the application once it's set up well. "Part 5:
Customization" tackles add-ons, plugins, and ways to extend the application. Finally, "Part 6:
Bonuses" contains additional content that didn't fit anywhere else.
The chapters in the Table of Contents are listed in the suggested order of action. Some
recommendations are dependent on previous chapters, while others can be implemented
independently. Chapters frequently reference each other when more or related information exists in
a different area. This is noted by the paperclip ( ) icon.
jirastrategy.com | 3
URLs
Where possible, URLs have been shortened so they are easier for print version readers to type into a
browser. For example, to read more about global permissions, you can type
jirastrategy.com/link/global-permissions instead of
https://confluence.atlassian.com/adminjiraserver071/managing-global-permissions-802592439.html.
The short version will redirect you to the correct place.
NOTE
Please be sure to check the version for any documentation page and change it to your application’s
version if necessary.
Terminology
The JIRA Server version was previously known as "JIRA Download" and the JIRA Cloud version as
"JIRA OnDemand." Throughout this book, the products will be referred to as JIRA Server and JIRA
Cloud.
An "asset" is used to describe the collection of configurations, schemes, and other items like custom
fields, components, settings, etc. "Asset" is also used to describe an item you own. Example: Asset
management.
"JQL" means "JIRA Query Language" which is a flexible way to search in JIRA. Read more about JQL
at: jirastrategy.com/link/advanced-searching.
An index is available at the end of the book. For digital versions, use any available "search" or "find"
features.
Do Something to do
Server Version Only Only applies to JIRA Server (not JIRA Cloud)
Brackets
Areas where you need to fill in your own value are noted in brackets. Example: In the sentence
"Today is [date]." replace the string "[date]" with the actual date. (Don't forget to remove the
brackets, especially in code snippet examples.)
Use the coupon code for free digital downloads of the materials in the book.
Code: jsK1
Use the notification service to hear about book updates and new materials. Subscribe at:
jirastrategy.com/link/notify.
jirastrategy.com | 5
Errata
Have you found an error, a mistake, or a broken link? Please report it at jirastrategy.com/link/errata
so we can address it in the next edition. Please include a short description of the issue and the page
where you found it. Thanks in advance!
Have a different opinion or additional strategies to share? I'd love to hear them! Start the
conversation at: jirastrategy.com/link/conversation.
Even if your application is already a bit of a mess, you can stop the pollution, and make good "from
now on" decisions with the tips in part 1.
NOTE
Not every member of the Advisory Board needs to have application administrative access!
Administrative access should be carefully limited. See the "Define Admin Users" section for
details.
Pick your board members carefully. You should seek out people who genuinely care about the
application and the processes it supports. You'll want members who are invested in the long-term
success of the software and of its users. It’s also important to have a diverse membership. For
example, if you have all engineers on the board, you'll only get engineering-focused opinions. Keep
the membership size to the smallest count needed to accomplish the mission of the board.
DON’T
Delegate only one person with management decisions and administrative actions.
jirastrategy.com | 7
Ideal Board Makeup
1. An End User who understands how other users work with the software every day (a technical
user or a non-technical user).
5. A wildcard member who can keep the group focused, communicate with other groups, and
provide additional skills or expertise as needed.
The worst type of person to have on your board is someone with too narrow of a focus. Someone
only interested in their current, specific problem or use case will not make decisions that benefit the
software and user base as a whole. Be prepared to replace any board member who doesn't bring
value to the team or negatively impacts its mission.
RECOMMENDATION
Any change that would impact multiple projects (or user groups), apply to a very narrow use
case, alter the way the application functions, or trigger the need for a re-index of the data,
should be carefully considered by the board.
Establish Standards
JIRA comes loaded with default schemes to get you started. For example, a default workflow,
permissions scheme, notification scheme, etc. Before you start building new custom schemes, the
board should decide how many of each you will be offered and for what purpose. Setting standards
will help keep your application uncluttered and easy to maintain.
Make all configurations as simple and as generic as you can, so they can be easily shared between
multiple projects and multiple teams. Then Project Leads can choose from the available standard
schemes.
Think your application won't grow out of control? Here's a real example of exactly what
happened to one company without an advisory board to monitor requests.
JIRA
Scheme
Default Count Problem
Type
Count
Issue ~7 189 This company thought Issue Types were needed to
Types name each possible request type. (You and I know
their purpose is to allow for different workflows and
screens.)
Workflows ~4 150 This company let every software team have their own
differing workflows, complete with cutesy status
names and custom fields.
Custom ~ 30 330 This company had many similarly named, duplicate,
Fields and unused fields.
Scheme counts grew and grew to the point where it took a long time for the admin pages to
load! The same is true for all the other types of schemes not listed.
Here's a good first task for your new Advisory Board: determine what kinds of sensitive information
is permitted in JIRA. It should be pretty easy to arrive at this decision. Your policy will depend on
whether your application is subject to compliance standards, how access to sensitive data is
controlled, other internal company information security policies, your industry, the laws in your
country, whether you accept credit card payments, and other related factors.
jirastrategy.com | 9
Worksheet: Security Policy Considerations
Answer the following questions to help you draft your information security policy.
▪ Examples:
▪ Examples:
o When new user access is granted, what is the procedure for providing
credential information?
▪ What information may harm the company if employees or the general public was
able to access it?
▪ Where is JIRA data backed up? Who can access the backup?
Download this worksheet at: jirastrategy.com/link/security-policy. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Be sure to share your policy with your Legal, Compliance, Security and Audit teams, to make sure it
meets the needs of the company and supports other policies in place. Also, consider how to publicize
your policy. Will it become part of the standard employee procedures manual, will users agree to it
at the time they receive JIRA access, will users agree to it annually, or is another method
appropriate?
Enforcement
User education is the best preventative measure. Additionally, you'll want to proactively look for
violations of the policy. One way to do this is through simple JQL (JIRA Query Language) queries.
Set up filters or filter subscriptions to look for common words that may indicate a policy violation.
For example, to detect a password entered into an issue, use a query like:
Obviously this method isn't fool proof, and false positives will be detected. If a false positive is
identified, remove it from your query. Example:
Reporting Violations
A clear set of instructions for reporting problems needs to be defined. Once an issue is reported and
verified, a clear set of actions is needed for containing the problem.
jirastrategy.com | 11
EXAMPLE FROM THE SWAMP
When one company found a password in an issue comment, their procedure was to delete
the comment. This solution alone was highly ineffective. The password was exposed to
other users in the issue, made vulnerable via email notification when the comment was first
added, and exposed again via email when the comment was deleted. Even after the
comment was deleted, the original information remained as part of the issue's activity
history.
The easiest way to manage user requests and support the software is from within JIRA itself!
1. Create a project to collect and track all requests and actions performed by JIRA
administrators.
Recommendation: Choose a JIRA support project name that will be easy for your users to
understand. (There's no time for clever names when users need support.)
2. Establish this project as the official method for all new project creation, application change, or
user support requests.
Recommendation: Use this same project to track other JIRA-specific tasks like user
assistance (new account creation, password resets, etc.) and to record routine maintenance
activities (like upgrades, re-indexing, etc.) This keeps all your application information in one
place.
3. Have the board establish what information is needed for each type of common request.
While JIRA logs administrative actions, the logs alone won’t explain why the change was
made, who requested it, or why it was implemented in a specific way. All this information
should be stored in the request record. Further, the administrator should record any notes
about their actions or implementation details so they can be understood by others or
referenced later.
Recommendation: For each new element created (project, scheme, etc.), use the
"description" field to reference the issue ID it was created for.
4. Create a list of request-specific questions to immediately present to the user. This helps get
the information you need up front to complete the request. The questions also establish the
choices available to the user.
A sample project configuration is available in the "Sample JIRA Support Project Set Up" section.
DON’T
If you're not planning to query for or report on a piece of information, don't devote a custom
field to it.
What should you measure and why? Use the ideas below to create your own list of important
data points. Determining how you'll measure success may help the support team improve as
well.
1. How much support does JIRA require, compared to other internal applications?
▪ Reason: So you can calculate true maintenance costs and understand where to
spend time training staff and educating users
3. What is the relative priority of most requests? (Example: How many requests are
urgent?)
▪ Reason: So you can manage resource allocation and end user expectations
5. How quickly are requests completed? (Example: Is the communicated Service Level
Agreement (SLA) being met?)
jirastrategy.com | 13
6. How much time is spent on requests? (Example: What is the cost per support request?)
▪ Implementation: Use the Log Work function and Time Tracking standard fields.
7. What is the frequency of requests where no work is needed, invalid requests, or issues
caused by external forces? (Example: Problems that can't be reproduced, issues that
"work as designed", questions or research requests, improperly routed issues, network
outages, user error, etc.)
▪ Reason: So you can see where you're spending (or wasting) time and can better
educate end users
9. How satisfied are requestors with the support they received? (Example: Are you
proactively educating users or just fixing issues?)
▪ Reason: So you can improve the level of support and educate users
10. How well are support actions documented? (Example: Are support team members
educating each other?)
▪ Reason: So you can cross train, share knowledge, and save time
11. How satisfied is support staff with tools, procedures, access to assistance, etc?
▪ Reasons: So you can identify and act on areas to improve, work better together,
and achieve a high level of morale
12. Which environment are changes made in? (Example: Production or the testing
environment.)
▪ Reason: So you can document differences between environments and see which
changes were tested
Issue Types
RECOMMENDATION
Always include a "general" issue type, like "Task", to collect "other" types of work. If a user
selects "Task" when another type is more appropriate, the issue can easily be moved to the
correct type.
Fields
Use standard and custom fields to collect the information needed from requestors and the support
metrics defined in the previous section.
jirastrategy.com | 15
All issue types share the following common fields:
Issue
Field Name Field Type Description Notes
Type
All Summary Standard n/a Required
Description Standard n/a Required
Priority Standard n/a Required
Requested Date Custom When would you like this Different from the "Due
completed by? Date"
Linked Issues Standard n/a n/a
Attachment Standard n/a n/a
Labels Standard n/a n/a
Standard n/a n/a
Assignee
In addition to the common fields above, the following issue types use additional fields.
Issue
Field Name Field Type Description Notes
Type
Add User Message Please see the "Request a For use on the "New
Project Instruction: Custom New JIRA Project" Project" create screen
New JIRA Field (for documentation at: [URL]
Project edit)
Text Field n/a Required
Project Name
(single line)
Lead User Picker Who is the responsible lead of Required
(single this new project? See
user) "Responsibilities" at: [URL]
Modify Project Project Which project needs Required
Project Picker modification?
(single
project)
User Employee Text Field n/a Required
Name (single line)
Username Text Field n/a Required. NOTE: Don't
(single line) make this field of type
"User Picker" as this
may be a request to
add a user not already
in JIRA.
Email Address Text Field n/a Required
(single line)
Add to Group(s) Group Tip: Use the "Select n/a
Picker groups" icon on the right to
(multiple choose one or more groups.
groups) Every JIRA user needs to be in
the "jira-users" group.
Screens
This project uses the following screens. Included are the standard issue action screens (Create, Edit,
and View) and additional transition screens.
jirastrategy.com | 17
RECOMMENDATION
Organize any internal use type fields (Example: Time Tracking) on a separate tab. Create a
separate tab to hold the survey fields too.
Screen Details
Screen Type
Screen Name Notes
(Action)
Create • Add Project: Create Build one "Create" screen for each issue main
type. (The Sub-task issue type can share the
• Modify Project: Create Task's create screen.)
RECOMMENDATION
Ask each user to verify the work done for their request. When they click the "Pass" transition
button in the workflow's "Ready for Verification" status, show a transition screen containing
optional survey questions.
NOTE
As responses aren't anonymous or private, it's possible that users will skip completion or may be
worried about responding honestly.
jirastrategy.com | 19
Sample Customer Satisfaction Survey
Sample Questions:
How To:
1. Create one new field, of type "Select list (single choice)”, for each question to ask.
▪ Add simple response values like: Awesome, Good, Fair, Poor, and Unknown
2. Create one new screen and add the fields created in the previous step.
▪ NOTE: The "Comments" field will be present on the screen by default. There is no
need to create another field to gather feedback in text format.
3. In the final workflow transition, show the screen created in the previous step.
<div style="border: 1px solid #000; background-color: #f0f0f0; padding: 10px; margin: 10px;">
<b>How did we do?<b><br />Help us understand what went well and what could be improved for fu
ture support requests. This optional survey will take you approx 1 minute to complete. Result
s and feedback will be shared with the support team and leadership.</div>
Use Case: The JIRA Support team uses a JIRA project to track user requests and collect feedback.
In this example, a request is entered, triaged by a senior team member, worked by a support team
member, and verified by the requestor.
Workflow Details
Workflow Name: JIRA Support
Narrative: There are five statuses. The requester creates an issue. The issue is in “Open” status
and a senior team member reviews the issue. They assign the issue, provide an initial time estimate
(goal) then set a target due date. When work begins, the assignee updates the time and date
estimates then moves the issue to “In Progress” status. After the work is complete, the assignee
moves the issue to "Ready for Verification" status and is automatically assigned back to the
requester. If they pass the issue, a customer satisfaction survey, with optional fields is displayed
and the issue is marked “Closed.” If the reporter fails the issue, it goes back to "To Do" status.
Alternatively, the issue can skip the verification step if it is not applicable. An issue can also be
"Reopened" after it is closed.
jirastrategy.com | 21
NOTE
This workflow requires the following add-ons: "Suite Utilities for JIRA", "JIRA Toolkit Plugin", and
"JIRA Misc Workflow Extensions." Read more about it in the "Noteworthy Add-ons" section.
Transition
Linked Button >> Behaviors (Triggers, Conditions,
Transition Screen
Status Destination Validators & Post Functions)
Status
Open Triage >> To Do Triage (Includes fields: • Fire an Issue Assigned event
Area, Components, that can be processed by the
Assignee, Time Tracking, listeners.
Due Date)
Close >> Closed Implementation Details • Fire an Issue Closed event that
(Includes Fields: Log can be processed by the
Work, Comment. listeners.
Required: Resolution,
Comment)
To Do Start Start Progress (Includes • Assign the issue to the current
Progress >> In Fields: Original user. (Please note that the issue
Progress Estimate, Due Date) will only be assigned to the
current user if the current user
has the 'Assignable User'
permission.)
Close >> Closed Implementation Details • Fire an Issue Closed event that
(Includes Fields: Log can be processed by the
Work, Comment. listeners.
Required: Resolution,
Comment)
In Ready for Implementation Details • Assign the issue to the reporter.
Progress Verification >> (Includes Fields: Log
Ready for Work, Comment.
Verification Required: Resolution,
Comment)
No Verification Implementation Details • Fire an Issue Closed event that
Needed >> Closed (Includes Fields: Log can be processed by the
Work, Comment. listeners.
Required: Resolution,
Comment)
Stop n/a • n/a
Progress >> To
Do
Ready for Pass >> Closed Survey (Includes Fields: • Fire an Issue Closed event that
Verification Speed, Communication, can be processed by the
Overall) listeners.
• Assign the issue to the last user
from the Developers role who
had this issue assigned before.
Fail >> To Do Comment (Required: • Assign the issue to the last user
Appoint Ambassadors
Now that your board is set up, you've established success metrics to measure, and you've set up a
JIRA project to collect support requests and track application changes, there's one more group to
establish.
In addition to your board, you'll want to enlist the help of other users to disseminate information,
answer common questions, and serve as a liaison to your users. A small team of JIRA Ambassadors
is a vital asset when you need to execute changes to your current application or communicate the
change request process.
As with the Advisory Board, keep the team small but representative of your user base. The Project
Lead of each JIRA project makes an excellent ambassador candidate list. Project Leads are likely
already engaged in some level of project-level administration and may also be a team manager or
leader. If there are too many JIRA projects for the lead of each to be an Ambassador, instead
appoint one per project type. For example, one person can represent all the software-type projects,
another can represent all the business--type projects, and another for the support-type projects.
RECOMMENDATION
Use JIRA's project Categories feature to segment projects and group potential Ambassadors.
jirastrategy.com | 23
User Types
Users generally fall into one of the following types.
• Internal Users - Full time and part time employees who will remain with the company for
the foreseeable future
• External Users - Contractors, consultants, and temporary employees who will cease work
after a period of time
• Active Users - Users who regularly login and interact with issue data
• Inactive Users - Users who haven't logged in in X days and/or have left the company
• JIRA Core Users - Users of "Business" type projects with simplified views. This user has a
simplified project view without software development-specific features.
• JIRA Software Users - Users of "Software" type projects with views containing software
development concepts. This user will see development-specific features. (Example: Releases
tab, versions, development tools integration panel, etc.)
• JIRA Service Desk Users - Users of "Support" type projects with views containing support
concepts, like service level agreements (SLAs), portals, etc.
• Project Level Administrators - Users with permissions to manage settings for individual
JIRA projects. (Example: Components, project users, etc.)
• System Level Administrators - Users with the ability to perform absolutely every JIRA
administration function
NOTE
Some companies separate or give their administrative users both system and application levels of
permissions. For the differences between the two groups, see the "Managing Global Permissions"
documentation here: jirastrategy.com/link/global-permissions.
Test Users
RECOMMENDATION
Create one test user account to support each type of user scenario. Example: If you are an
Internal user with Application Admin access, create a generic account to test the effect of your
change as an Internal user with Regular access.
DON’T
Create test administrative users, as that may introduce a security concern or violate your
company security policy.
At one company, there were no procedures to determine who was eligible for application-
level admin access. It didn't matter if you were a technical development team manager or a
non-technical project manager. It didn't matter if you had years of experience supporting
an application or had no experience at all. Anyone who asked for admin privileges got
them. At a company of approximately 1,000 users with roughly 50 admins, there were 45
too many! The users made any changes they wanted. Changes weren't planned, logged, or
communicated. Changes often had negative impacts on other projects or the application as
a whole. Schemes were duplicated multiple times. Custom fields were misspelled. Add-ons
were installed and never used or uninstalled. The stability and usability of the application
degraded every day. A complex query or a re-index would bring the entire application
down!
DON’T
Haphazardly grant administrative access.
Just like with the members of the Advisory Board, your JIRA Administrators need to be chosen
carefully, audited regularly, and approved by the application owner. An admin needs to consider the
health of the application, impact to the application, and maintenance implication for each decision
and change they make.
The worst type of person to have on your admin team is someone who doesn't understand the
structure of the application, doesn't communicate with stakeholders, or is too busy with other
application to devote the time needed to properly support JIRA.
Whether you hire a dedicated administrator or use existing employees as part of an administration
team, the roles, responsibilities, and expectations should be clearly defined.
jirastrategy.com | 25
Worksheet: Application Administrator Responsibilities
Use this worksheet to define the functions a JIRA Administrator should perform. Once finalized,
these items should become part of a job description.
4. Assist Project Level Administrators with managing settings and maintaining their
projects
8. Remove projects, schemes, and assets when they are no longer needed
12. Develop and maintain documentation and end user training materials
DO
Administrators should always document their changes. JIRA records who made what change
when, but not why the change was made or implemented in a specific way. Ideally this
information is stored in the JIRA Support project as recommended in a previous section. The
administrator should record any notes about their actions or implementation details so others
can reference them as needed. These records are especially important for multi-person
admin teams to handle complex user requests or when transitioning admin duties to new
users.
While it may be useful to break up admin duties by request type (example: user related request
vs project customization request), make sure to cross train your team so everyone is able to
support all functions if needed.
MISTAKE
My first admin experience was on the day I was made an application administrator! I had a
very good user-level knowledge of JIRA, but understanding how to use it verses how to
configure and manage it are very different things! Without proper training, I started building
a new project and brand new schemes to fit my use case. I followed the model from an
existing project and was on my way. Months later, I realized the model I followed was all
wrong. I had copied the mistakes of others. I had added to the overall mess. I should have
understood more about the application before I started making additions to it.
MISTAKE
The JIRA software management and learning environment was all wrong. There was no
company sandbox or test environment to learn in or try out changes. I should have set up a
local Server instance or a Cloud free trial for my pre-production experimentation. I should
have imported sample production data and configurations to my test area so I could see how
changes worked with real scenarios. I should have requested read-only database access,
rather than guessing at how the data was stored and structured. NOTE: Granting read only
database access gives users access to protected data and may violate your company security
policy.
RECOMMENDATION
Give your application admin team read-only access to the JIRA database. Understanding how
the data is structured will solve a lot of mysteries and make them better admins. They'll have
the ability to access additional data that's not available in the admin UI.
Project Leads
Each JIRA project has a listed "Project "Lead" (who is sometimes also the default issue assignee). As
such, there's an opportunity to involve additional users in project-level maintenance and
management.
DO
Identify a project lead for any new project creation request. (See the "New Project Request"
worksheet to create your own questionnaire.)
jirastrategy.com | 27
The lead can be selected on a case by case basis, or you could structure leads by project type
or category. For example, Paul will be the project lead for any software-type projects.
Project Leads also make great candidates for your JIRA Ambassadors group mentioned in
the "Appoint Ambassadors" section.
DON’T
Utilize application-level administrators also as project-level administrators. These are two
separately focused roles.
Responsibilities
1. Set and maintain Components, Versions, and other project-specific settings in accordance
with established standards
3. Routinely triage (or appoint a triage person) to assign and review issues as they are created
5. Report any project issues or customization needs to the JIRA Support team
DO
Create a job aid or help document with best practices for your project leads. See “Sample
Guide to Guide to Configuring Your New Project”
Welcome to your new JIRA project! As the listed lead of a project, you have certain project
maintenance responsibilities. You have access to the project's admin area, where you can
manage Users, Components, Versions and other project-specific settings. Access the project
admin area from the "Project administration" (in JIRA Server) or "Project settings" (in JIRA
Cloud) link in the left sidebar menu.
Components
Components represent a grouping of issues in a project. This feature allows you to query
(search for) all items in your project associated with that component. Here are some
examples:
• Example 1: Your project is to build a car. You might want to group issues in your "car
• Example 2: You have a cross-functional team where many different types of jobs are
performed. You might want to group issues by type of job or department.
• Example 3: Your project is for writing copy for the entire company. You might want to
group issues by where the copy will be posted.
With "Components," you can specify how all new issues of a certain type automatically get
assigned. Using the "cross-functional team" example above, you can assign any "Marketing"
request issues straight to Bob, and any "Design" related issues to Sue, etc. To set this up,
enter a username in the "Component Lead" field and set the "Default Assignee" field to the
"Component Lead." Alternatively, you can have all issues go to one specific person for triage or
even to no one (using the "Unassigned" option).
Component Set Up
Here's a sample component configuration, using the "cross-functional team" example above.
Component Default
Name Description Notes
Lead Assignee
Marketing For copy, ads, and username Component Auto assigns to the
social media tasks Lead username specified in
the "Component Lead"
column
Design For graphic design, username Project Auto assigns to the
UI, mockups, etc. Default lead for the entire
(Project Lead) project
Support For the Tier 1, 2, and n/a Unassigned Auto assigns to the
3 support teams "Unassigned" user
value
Legal For agreements, username Component Auto assigns to the
terms and conditions, Lead username specified in
disclaimers, etc. the "Component Lead"
column
DO
Make your component names descriptive but short. Really long and multiple word values
make issues harder to search for.
jirastrategy.com | 29
DON’T
Do not use Components to duplicate an existing JIRA field or function. For example,
don’t group issues by a person's name. JIRA uses the "Assignee" field to specify who
needs to act on an issue.
If you're not sure how you might want to use the Components feature, skip it and come back to
it later, after you've used the project for a while.
Versions
Versions are points-in-time for a project. They help you schedule and organize your releases.
RECOMMENDATION
Skip creating Versions if your team has no work to release! (Or, use it as another
distinguisher for something you want to track.)
If you are part of a development team, use the "Releases" page to add your "Versions" (unique
software version numbers). The "Name" column is what will be queried against, so make the
naming format short and easy. (Example: A simple name like "1.0" is easier to query than
"Version 1.0 Special Release").
NOTE
Only projects of the type "Software" and users in the "jira-software-users" group will see the
Versions feature.
Project Maintenance
2. Add and update individual users or groups in your "Users and roles" area. (Don't forget
to remove any users who have left the team.)
Need Help?
RECOMMENDATION
Involve your project-level admins in changes that impact their project(s). Example: A user
requests access to a project. That's a change that can be made by the Project Lead. Either
refer the action to them for completion or make the change and notify the lead, so they are
aware. For bigger changes, you may opt to obtain "approval" from the lead before making the
change. You can manage this entire process (and create a record of it) from the issue request in
the JIRA Support project.
RECOMMENDATION
Use the project's "Description" field to list the name of a single point of contact. This way, the
application admin team will always know who to contact if a change needs to be announced or a
project-level decision needs to be made. Using the “Description” field is also helpful if the lead
happens to be listed as a generic user or distribution list.
NOTE
The lead for each JIRA project can be seen on the project's "Summary" page and also in JIRA's "All
Projects" list.
jirastrategy.com | 31
Project Distribution Lists
RECOMMENDATION
Make sure any distribution list on your mail server has an identified owner. Not only will it allow
the owner to manage group membership, but it will help create a single point of contact for all
generic email addresses.
RECOMMENDATION
It may be useful to your admin team and/or your end users to publish a static list of "distribution
list" project leads.
JIRA's "All Projects" page lists the owner for each project. Some projects show a distribution
list or generic user instead. Here's a (manually maintained) list of leads for those specific
projects.
Project Key Listed Project Lead Single Point of Contact
Project Name PROJECT "Dev Team" Paul
... ... ... ...
RECOMMENDATION
In your project leads list, link the "Project" column entry to the project's Summary page. Link
the "Single Point of Contact" column entry to the user's JIRA profile page.
It is possible create a generic "distribution list" user with a generic email address that forwards mail
notifications to multiple users. This is often used to notify a whole team, in support situations, for
example. Further, you can make that generic user the listed "Project Lead", default assignee, or
Component Lead. I recommend avoiding this however because:
1. The generic user becomes part of your licensed user count. Your licensed user count could
quickly expand if all teams were to use this setup.
2. This generic user is unlikely to login. These become extra accounts for the application admin
team to manage and periodically determine if they are still in use.
3. There's the potential for less accountability when a project is owned by many. If the lead or
default assignee is a distribution list, which team member is supposed to act? How will
reporters know who to contact about an issue? A single point of contact or single assignee is
always easier.
4. Individual users will receive an email notification in their personal account, and another exact
copy for each distribution list they are also a member of. This message duplication is
annoying to users and also creates additional log entries and mail server traffic.
External Users
Now or in the future you will need to let an external user access your application. Maybe it's a
temporary contractor you've hired to help on a project, an Atlassian technician troubleshooting a
JIRA issue, or a consultant for an audit or compliance activity. Regardless of the scenario, you
should prepare for it before you have the actual need.
DON’T
Neglect to consider external users. Their access should be treated specially.
• 2 external users from one company need access to the X JIRA project
• 3 external users from another company need access to the X and Y JIRA projects
The above use cases are real examples from a company unprepared for the possibility of
external users. As such, a user with access to one JIRA project, had access to all the
others. Even worse, any new JIRA user was also made a Confluence user! This meant that
any temporary employee had access to all internal company information, proprietary
documentation, and plans for the future in both applications!
jirastrategy.com | 33
DON’T
Don’t use external email addresses when setting up external users. Valuable company data
should never be sent through external mail servers.
All external users should be set up with a company provided email address. (This does not have to
be the same domain internal employees use but it should be a domain managed by the company.)
External email addresses allow sensitive and proprietary information to leave your company and be
retrieved insecurely from external servers. Remember that email notification is widely used in JIRA.
An email is triggered for any @mention or share action. Notifications are sent at any given point and
display change records. Filter results are sent out as email subscriptions. Do you really want
company JIRA data sent to @gmail.com email addresses? Of course not!
A former employee contacted the company to complain about JIRA data being sent to his
personal gmail.com email address. Upon further research, it was also discovered that data
was being sent to hundreds of other past or present users with external addresses in the
JIRA database.
See the "Former Employee Clean Up Procedure" section for ways to proactively avoid this scenario.
RECOMMENDATION
Create a group, for all external users, separate from the general "jira-users" group. This allows
you to give permissions sparingly and also quickly remove access for the whole group.
RECOMMENDATION
Make sure external users have a clear end date when their access should be removed. Create a
new issue, at the time they are hired, to remind the team to perform the removal at a future
date. See the "New User Request" worksheet to set this up.
I've created the following characters to help share information. Use mine or create your own!
This character represents all the behind the scenes magic and customization that goes on within
JIRA. When workflow problems are magically solved, it's because the Genie did it! When new
projects get configured just the way users want, they can thank the Genie.
RECOMMENDATION
Use the JIRA Genie (or a similar persona) to remind users of their responsibilities and when they
need to take action.
Dear User,
I've been temporarily released from my lamp to remind you to [insert request details]. I have
many amazing magical powers, but I'm not all-powerful! I need your help to keep JIRA issue
data accurate and up to date. If you have any questions, I'll be in the Cave of Wonders
collecting today's wishes.
Sincerely,
The JIRA Genie
jirastrategy.com | 35
Download this wording at: jirastrategy.com/link/users-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Dear User,
Your wish for a new JIRA project has been granted! I know your team of Forty Thieves is
anxious to get started, but first, please use your new administrative powers to create your
Components and Versions. It's quick; you'll finish it faster than Christina Aguilera can cut a
new single. If you have any questions, the JIRA Support team is only a short magic carpet ride
away.
Sincerely,
The JIRA Genie
Download this wording at: jirastrategy.com/link/users-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
This character represents all the admin and application-level work required to maintain a happy JIRA
application. Gerry can be called upon for data issues, upgrades, clean up procedures, and archival
actions.
RECOMMENDATION
Use Gerry the JIRA Gerbil (or a similar persona) to alert users of system issues or administrative
tasks.
You've heard of the JIRA Genie, but have you heard of the JIRA Gerbil? Meet Gerry, our
resident rodent! Gerry has been busy burrowing through our data, scurrying around all the
issues created, and getting JIRA cleaned up for us. Gerry has detected a problem however:
[insert problem details]. Rather than make everyone go fix the problem, Gerry lobbied to grant
you a one-time, non-trans-"fur"-able, "get off the hamster wheel" gift. We'll fix this problem
for you, with the understanding that you'll be more diligent with [task details] from now on.
Gerry is normally very tame - but don't test him! He's liable to chew your computer wires if
this problem occurs again. (Rodent high five to the folks who routinely address this problem.
Thanks!) It looks like Gerry has also detected a number of JIRA application inefficiencies.
There are remnants of "a veritable smorgasbord orgasbord orgasbord" cluttering up the tunnels
of his home. We'll be helping him address them by [solution details].
Download this wording at: jirastrategy.com/link/users-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Greetings,
Gerry the JIRA Gerbil has asked me to remind you of his New Year’s resolution: to let no JIRA
issue go unverified!
Please look for your issues in the following list: [filter URL]
Once you’ve made sure there’s no outstanding issues with the completion of your project,
please signify that by clicking the white “Reviewed” transition button. Then, we can officially
close the issue.
Download this wording at: jirastrategy.com/link/users-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
RECOMMENDATION
Create your own JIRA characters to improve email open rates and info share. Consider making
these characters actual application users, with custom email addresses. (Example:
jiragenie@company.com) It will make important messages more likely to be read and less likely
to be filtered.
jirastrategy.com | 37
Roles and Groups
Permissions for roles, groups, and individuals are often confusing. Think of a role as a common
function on a team and a group as a list of individual users who perform that function. For example,
a soccer team has the following roles: a coach, a team captain, players, and fans.
NOTE
Default JIRA roles and groups such as Administrators, Developers, and Users may already exist
based on are specific to your version and license type.
RECOMMENDATION
Unless you're only using JIRA for software development, change the very specific and sometimes
confusing "Developers" role to a generic role name.
Using our soccer example, here's how the team could be reflected as four JIRA roles.
Soccer
JIRA Project
Team Notes
Role
Role
Coach Administrators The role name is purposely plural, meaning one or more individuals
who manage the project. See the "Responsibilities" section. This
is a default project role.
Team Leads The role name is purposely plural, meaning one or more individuals
Captain who assist the project administrators. This role can be used to grant
abilities that fall between those of an administrator and a regular
user. (This is a custom role manually added.)
Players Developers The role name is purposely plural, meaning one or more individuals
Members who do work within the project. The default role name is
"Developers" however, this is frequently a point of confusion for
non-software projects. Change this role to a more generic name that
indicates these users are "members of the team."
Fans Users The role name is purposely plural, meaning one or more individuals
who have a stake in a project. This is a default project role.
Best Practices
DO
• Add the project lead to the "Administrators" role, so they can manage the project settings.
• Add the application-level administrators group to the "Administrators" role, so they can assist
the lead if needed.
o Alternatively (and even better) add the application-level administrators group to the
permission scheme. See additional details in the "Permissions" chapter.
o Don't add the entire users group or you won't be able to restrict the project from
"external" users. See the "External Users" section for the recommended set up.
• Remind the project lead of their responsibilities. See the list and documentation wording in
the "Abilities and Responsibilities" section.
DON’T
• Create ultra-specific roles or name them in ways that won't apply to the entire company.
• Abuse the application-level "role default user" feature. If default users are added to a role,
they will apply to that role in EVERY project.
• Embed individual users and groups in Permission schemes where project-level won't be able
to manage them.
jirastrategy.com | 39
EXAMPLE FROM THE SWAMP
At one company, roles were utilized incorrectly. Instead of leveraging the default "Users"
role (which is part of every project), additional (duplicate) user roles were created and
named for specific projects. In addition to "Users," there were also "Project 1 Users",
"Project 2 Users", "Project 3 Users", etc. Since roles are used across all projects, all the
other projects had these line items in their roles list too. Further, default users were added
to all these custom, duplicate roles, meaning they were automatically added to other
projects. When new projects were created, administrators would have to manually remove
all those bogus users where they didn't apply. Instead of a tidy list of approximately 5 role
types, each project had 20. Project-level admins were routinely confused by what these line
items were for. The answer always was "Sorry, please ignore them. They don't apply to
your project."
User Management
User management is more than just "adding new users" as they join the company. Think of your
user list as a flower garden that needs regular attention to remain accurate. You have to establish
procedures on how to support new users as well as departing users.
New Users
New user creation requests should be logged just like any other JIRA related request. Use the
worksheets to establish your new user procedures.
4. How long should this user retain access? (For cases of role, test, or external user
accounts, there should be an access end date. Create a separate issue now to remind
the admin team to remove this user at a future date.)
Turn this worksheet into a “Create” screen in your JIRA Support project!
When a new user is added, give them access instructions, usage information, and instruction
for obtaining assistance. Download the "New User Communication and Checklist" template at:
jirastrategy.com/link/new-user. Use the code in the “Worksheets, Templates & Companion
Materials” section to download it for free.
Hi @username, you have been added to the "jira-users" group, which gives you access to JIRA,
our project management and issue tracking app.
You can access it at [URL], using your [username and password details] credentials. JIRA
training materials are available at: [URL]
Please test your access and if all is well, click the "Pass" transition button, to close this request.
Download this wording at: jirastrategy.com/link/users-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Place answers to frequently asked questions next to the JIRA login form.
Example Questions:
RECOMMENDATION
To display login instructions, go to the "Introduction" field on the Admin > System > General
configuration page.
Next, add wiki markup (JIRA Cloud) or HTML (JIRA Server) formatted instructions to assist your
users.
jirastrategy.com | 41
NOTE
• The "Introduction" gadget must be present on your System Dashboard for the instructions to
show on your login screen. As such, the instructions will show on your default dashboard too.
o Tip: Consider moving the gadget to the bottom of the dashboard, as logged in
users probably don't need access information.
• Third party single sign-on apps may prevent the gadget from showing. (Example: The
gadget will display when JIRA is integrated with Crowd, but not with Google Apps.)
• The gadget will only display on the main login page, not for all login scenarios.
Image: Introduction
The easiest way to manage a departing JIRA user's account is to have them assist with “clean up”
activities BEFORE they leave. Establish a procedure that notifies the JIRA Support team when an
employee is leaving the company including their termination date. Also collect their supervisor's
name, which is helpful for the “clean up” activities listed below.
DON’T
Wait for a user to leave the company before cleaning up their account.
User Checklist
Admin Checklist
Recommendation: An easy way to find user assets is to search the JIRA database. Don't
attempt to remove records straight from the database; use the Admin area instead.
DON’T
Do not delete the user account! Instead, make them inactive to maintain a record of their
actions and issues.
Other Users
Any test, role, or distribution list user accounts should be created and removed in the same manner
as normal user accounts.
RECOMMENDATION
Make sure to collect the name of a single owner for each test, role, or distribution list account,
as this info is often difficult to obtain in the future.
Single Sign-On
RECOMMENDATION
When the application grows to over 50 users, it's time to consider a central user directory.
Single sign-on services are very useful mechanisms for access control. JIRA integrates with another
Atlassian application, called Crowd, as well as Google Apps, Active Directory, and other services.
jirastrategy.com | 43
Wherever you choose to manage application accounts, make sure you have a maintenance plan in
place. Be prepared for a little user confusion regarding how to set up an account, where to login,
and how to reset passwords. For example, what they see in the application, such as a password
reset function, might not work, if their password is stored in a different application. The screenshot
below shows two login forms when using Google Apps for authentication.
In JIRA Server, when external user management is enabled, the "Can't access your account?" link
will be hidden. Users won't see any "forgot password" or "password reset" utilities.
Shared Access
Do you use more than one Atlassian application? While it's tempting to give all users access to all
applications, consider how applications may be used in the future and the impact of that decision on
user counts and licensing.
At one company, JIRA and Confluence both started out as IT-only tools. To save a step in
account creation, any user that attempted a JIRA login was automatically given an account
and placed in the "jira-users" general permission group. Confluence was setup with a global
permission which allowed anyone in the "jira-users" group to login. Subsequently, members
of the jira-users group were haphazardly added to some global Confluence spaces. This
worked for a while, but then non-IT teams started to use Confluence as well. There was
now no way to separate JIRA users from Confluence users. Since all JIRA users
automatically became Confluence users (whether they ever actually logged in to Confluence
or not) license usage appeared equal for both applications. The effort to decouple access
was a tedious and manual job. First, the "jira-users" group was removed from the global
Confluence permissions. Next, the "jira-users" group was removed from individual
Confluence spaces. Finally, any users who actually needed Confluence access were added
to the "confluence-users" general permission group. As a result, the Confluence user count
was only a quarter of the size of the JIRA user count.
• Do's, don'ts, and best practices so you can avoid common mistakes
RECOMMENDATION
For each new element you create (project, scheme, etc), use the "description" field to reference
the issue ID it was created for. This way, you'll be able to quickly find all the supporting
documentation.
DO
1. Establish and use a standard naming convention. Assets in the administrative area are
generally listed alphabetically, so you should consider ordering in your naming structure.
2. Name assets for the function they support or the problem they are solving. Don't name
assets for the project that will use them!
▪ Example: A workflow name like "Development with Code Review" is more descriptive
and useful than "John's Team Workflow."
jirastrategy.com | 45
3. Names should be descriptive but generic enough so that they can be used for multiple cases
and by multiple products.
4. Make any scheme or asset name short and easy to understand. Long names will only lead
you into the swamp. Here’s why:
▪ Long and multiple word names make things harder to search and query for.
▪ Long names can take up too much room on a screen and will often be truncated
(making them harder to read and understand.)
▪ Long names take longer to type and increase the possibility of query or spelling
errors.
▪ Long names create longer URLs. (Example: When sharing filter results)
DON’T
Don't name schemes with the word "new" (e.g. "New Workflow") because it won't be new for
long! Unless you are diligent about updating names and descriptions, once something is no
longer "new", this naming convention quickly becomes useless.
JIRA Terminology
Example: A collection of issues is called a "project" not a "queue." JIRA’s documentation shows
"queue" only for email or JIRA Service Desk, not projects.
Referring to assets by their real names avoids confusion between users and also when you
communicate with Atlassian Support.
At one company, users had multiple names for the term “issues.” They called them tickets,
tasks, task requests, and even "a JIRA" as in "Go create "a JIRA" for that!" Use of the term
"JIRA" within issues made it hard for the admin team to separate actual application issues
from other issues. A simple query to find application problems would return issues that
included copy like: "here's the JIRA for the bug" or "execution doesn't match the
requirement in the JIRA." At a training event, users were speaking about "creating a JIRA”
which confused the audience who interpreted this to mean we were creating multiple JIRA
application instances, not just individual issues.
DON’T
Don’t invent custom names for standard JIRA elements.
Quick Explanation
Project – A collection of issues.
Initial Attributes:
• Name
• Key
• Project Lead
Additional Attributes:
• URL
• Project Type
• Project Category
• Avatar
• Description
Benefits:
• Projects can be set up per department, per team, or to track large initiatives.
When to Use:
• Create a new project when you need different Components, Versions, Permissions or
Notification strategies.
Documentation link: jirastrategy.com/link/jira-project
Mary: "Hi John, I need a new JIRA project created for the ecological initiative we'll start
working on soon."
John: "Sure Mary, what would you like this new project to be called? Who will be the project
lead? Will you need a task-based workflow or a support-based workflow? Also, when do you
need this created by?"
John: "Thanks Mary. I still need to know who the project lead will be and what type of
workflow you desire."
jirastrategy.com | 47
The conversation continues back and forth, likely over a few hours or even days until John finally has
the basic information he needs to create a new project. This is a waste of time. Instead, create a
standard template for each new project request.
JIRA is a fantastic way to track your team's work or individual assignments. And it's not just
for developers! Project Managers, individual teams, and really anyone can benefit from JIRA's
project and task management features.
If your team doesn't already have a JIRA project, it's easy to get one created. To request a
new JIRA project, create an issue in the JIRA Support project. (Select the "Add Project" issue
type.)
TIP
Consider reusing existing workflows, statuses, fields, etc. for your new project.
Once the administration team has received your request, you may receive questions or
recommendations based on your request. Please note that it may take up to a week to
complete your project setup, depending on its complexity.
Your project will be in "test mode" until the configuration is complete. Therefore, your team
members may not be able to access the project during this period.
Only create test issues until you receive notice that the project is ready to process real issues.
Download this wording at: jirastrategy.com/link/project-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Ask questions that will help determine if and how to complete a request or propose an alternate
solution.
RECOMMENDATION
Ask what type of project is needed and assign the default or standard schemes built to fit
those needs. Don't ask questions that lead to customizations that you aren't willing to
accommodate. For example, asking the project lead to choose specific workflow steps
could lead to setup that is difficult to maintain and has too many custom elements. If
any customizations are needed, they should be handled separately.
Questions
Ask your users to answer the following questions as part of their new project request.
▪ The key is a few letters used as a project's "short" name and to identify issue
IDs. For example, the issue ID "PROJ-1234", the key is "PROJ." The maximum
character limit is 10. The key can’t be changed once the project is created.
▪ The name of the person in charge of the project from a JIRA perspective. This
person is listed as the project lead on the “All Projects” page and often the
default issue assignee. This person will be responsible for certain project
settings, like managing the list of users who can perform certain tasks within the
project. For more information, see the "Responsibilities" documentation.
▪ For example, do you need a setup for task management, software development,
support, etc.?
6. Is there an existing project whose setup that you would like to use?
▪ If yes, provide an instruction like: "Set up this project like the existing
"PROJECTKEY" project."
▪ Specify who should have restricted view access. List any individual issue
restrictions. Provide restrictions for any actions like edit, set fix version, etc. that
need to be restricted.
TIP
Turn this worksheet into a “Create” screen in your JIRA Support project!
jirastrategy.com | 49
Considerations
When you are processing new project requests, there are a few other things to consider:
• Is this new project necessary to support the use case? Or should an existing project be used
to accommodate it?
• Does the requested project lead understand their responsibilities? See the
"Responsibilities" section.
• Are any requested customizations or new schemes warranted? If so, what impacts would
they have on other projects, user groups, of the application as a whole?
• Is a future archive action needed? If yes, create an issue now to remind the team to perform
it at a future date.
RECOMMENDATION
You should spend less than 10 minutes on each new project set up. Andre Lehmann,
JIRA/Confluence Administrator and Leader of the Saxony, Germany Atlassian User Group,
recommends using the JIRA Command Line Interface (CLI) add-on to set up new projects in
under a minute.
Your project name should be descriptive yet generic. Example: A project with the key "ACME"
doesn't tell the user what kind of issues should be reported in that location.
One project had a 13 character key! While a long key is allowed in JIRA, it makes little
sense to make end users type something long.
o Example: A project with the key "JIRA" will result in strangely formatted queries.
▪ Atlassian uses "JRA", "CONF", and CWD" for their JIRA, Confluence, and
Crowd public bug reporting JIRA projects.
• Avoid keys containing numbers. The combination of a key with a number and sequential
issue IDs are likely to be confusing.
Project Categories
Project categories are simple groupings of similar projects. A project can only belong to one
category and there’s no way to create a project hierarchy. Categories are different than and in
addition to a project’s type.
Image: Example Categories
RECOMMENDATION
Always assign projects to a category. This will allow users to filter large groups of projects with
JQL. JQL example: category = "IT Support"
jirastrategy.com | 51
Share Project Schemes and Assets
One of the goals of the Advisory Board and the Application Administrative team is to share schemes
and assets between projects. All projects should be set up in the same way until there is a clear and
justifiable need to differ from the standard. A small list of shared schemes:
• Notification Schemes
• Permission Schemes
• Roles
• Users
• Components
• Versions
RECOMMENDATION
If you must create a set of schemes that are specific to a certain project (and not likely to be
shared), it's helpful to use the project's unique key in the scheme's name. Example:
PROJECTKEY: Scheme Name.
DON’T
Don’t create brand new schemes for every new project.
RECOMMENDATION
See how far your application has strayed from the default by comparing it to the default set up
reference at: jirastrategy.com/link/clean-instance . Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
With hundreds of schemes in every scheme category, one company had trouble selecting
the correct ones for a simple new project set up. The customized defaults no longer
represented what the ideal default settings should be.
RECOMMENDATION
There are a number of add-ons that can help you create a "project template." All you really
need to do, however, is keep your list of scheme options to a minimum. If there are only a few
choices, it won't be hard to pick the correct one for the project being built.
DON’T
Don’t let the "default" schemes become no longer the ideal default.
The second a new project appeared in the "All Project's" list, users began creating and
working new issues. Since the project was still being configured and customized, the
project likely didn't have the correct issue types, the desired workflow, and the requested
custom fields yet. This lead to premature trouble reports and questions about the project's
configuration.
jirastrategy.com | 53
RECOMMENDATION
To combat users interacting with a partly configured project, hide the project until all set up
items (including testing) are complete. Only let users testing the project have the "Browse"
permission.
Here's a helpful checklist when creating a new JIRA project. Completing items in a specific order can
make set up easier to complete. See “Project Configuration Recommendations” for additional
details.
RECOMMENDATION
For large, custom projects, paste the checklist into the request ticket and "check off" items as
you complete them. This will help requestors know how close they are to being able to test their
new project.
The checklist below is designed to guide you through the project configuration process. Please
do not start using your project (adding real issues) until all line items are completed. Look for
a green check mark next to each line item. Also, please look for any notes or action items for
you to complete. We look forward to completing the setup of your project.
Configuration Process
1. Create Project
▪ Link
▪ Project Type
▪ Project Category
▪ Icon
▪ Description
7. Create/Set/Verify Workflow
8. Create Components
9. Create Versions
▪ A temporary "Test" value is available. Project Lead: please set up your Versions
here: [insert link]
jirastrategy.com | 55
Project Configuration Recommendations
1. Create Project
▪ Display Name
o Recommendation: Echo the project's name back to the user. Note any
modifications needed. (Example: removal of special characters, shortening the
length, spelling or capitalization correction, etc.)
▪ Project Key
o Recommendation: Echo the project's unique key back to the user. Note any
modifications from the original request.
▪ Project URL
o Recommendation: Paste the project's URL so the user can easily access and
favorite or bookmark the new location.
▪ Recommendation: Remove general users from the "Users" role during project build
out. This will prevent users from creating issues before the project is ready to accept
them. Add just a few tester names to the "Users" role so others will be able to test
the project in the steps to follow. Add the “jira-administrators group” to the
"Administrators" role (unless already given access through the Permission Scheme) so
they can support project management efforts in the future.
▪ Link
o Recommendation: If you use Confluence, make the unique JIRA key and the
Confluence key match, so both locations are easy to users to find.
▪ Project Type
▪ Project Category
▪ Icon
▪ Description
56 | JIRA Strategy Admin Workbook
o Recommendation: Provide a single point of contact for the project for
application administrators and end users. If you decide to set a distribution
list or generic user as the Project Lead, add the name of the distribution list
owner here.
7. Create/Set/Verify Workflow
8. Create Components
9. Create Versions
jirastrategy.com | 57
▪ Recommendation: Don't be afraid to have fun with your new project test issues!
This is a good way to get your requestor interested in the project configuration
process. Create very silly sample issues, which are more likely to elicit response over
the bland summary title "Test Issue #1." See the “Character Users” section for
ideas.
▪ Recommendation: Build user acceptance testing into your new project creation
workflow. This testing is done by the requestor and any project or team leads before
the project becomes available to all end users. You may need to provide instructions
to help the testers understand what to test and what to look for. Have them create,
edit, and transition test issues.
▪ Recommendation: Make the project visible by adding general users to the Users
role. (NOTE: This may only include the "internal" user's group. See the "External
Users" section for details.)
▪ Recommendation: JIRA may have auto created new schemes as part of new
project creation. Remove them if the project will use shared schemes instead.
@username - your new JIRA project has been configured, tested, and is ready for use! Please
add the names of any users not already listed on your "Users and roles" page here: [URL].
For more information about your project's settings and the role of the project-level
administrator, please see: [URL]. See the "Responsibilities" section.
Finally, if all is well, please click the "Pass" transition button, to close this request.
Download this wording at: jirastrategy.com/link/project-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
RECOMMENDATION
Make sure the requestor has tested the project before making it available for general use. Have
them create a new issue (or one issue per Issue Type) and transition it fully through the
workflow. This may help uncover missed needs or requirements. It's much easier to make
configuration changes before the project is filled with real issue records. You'll also avoid
needing to retrain users or migrate entered data.
A new project to hold sensitive company data was requested. Everything was configured
except for the permissions. The requested restriction requirements were never provided
however. Regardless, people started using the project. The sensitive information was
available for any JIRA user to view.
DO
As noted in the previous recommendation, hiding a project from JIRA users until all
requirements are received and implemented is useful.
DON’T
Don't set up a project and assume the lead knows how to properly maintain it.
RECOMMENDATION
Give the project lead simple instructions for configuring, maintaining, and requesting further
customizations. (See the documentation templates below.)
jirastrategy.com | 59
Wording: Configure Your New Project
Your new project is ready! Now what? As the project lead you can add or modify the project to
best suit your team’s needs. This document covers how to configure and maintain your project
in JIRA.
Administration Area
Each project has its own administrative area. A project-level administrator can manage all
settings for your project. They cannot however manage settings for other projects or make
application or system-level changes. As a project-level admin, you can't break anything, so feel
free to experiment with the project settings so they fit your needs. The only thing we can't
"undo" in JIRA is deletion of issues.
[Insert instructions for accessing the admin area in your version of JIRA.]
NOTE
If you do not see this link, it's possible that you were not added to the to the "Administrator"
line in the "Users and roles area" for this project. Please contact the JIRA Support team for
assistance.
Your first priority is setting up your Versions, Components, and Users and roles.
Versions
Versions are points-in-time for a project. They help you schedule and organize your releases.
You can also use Versions as another distinguisher for something you want to track. Skip this if
your team has no work to release.
If you are part of a development team, use the "Releases" page to add your "Versions" using
unique software version numbers. The "Version" column is what will be queried against, so
make the naming format short and easy. (Example: A simple name like "1.0" is easier to
query than "Version 1.0 Special Release").
NOTE
Only projects of the type "Software" and users in the "jira-software-users" group will see the
Versions feature.
Components represent a grouping of issues in a project. This feature allows you to query all
items in your project associated with that component. You can use this in a number of
ways. Here are some examples:
• Example 1: Your project is to build a car. You might want to group issues in your "car
project" by parts of the car that need work.
• Example 2: You have a cross-functional team where many different types of jobs are
performed. You might want to group issues by type of job or department.
• Example 3: Your project is for writing copy for the entire company. You might want to
group issues by where the copy will be posted.
The Component is the most powerful feature in a project. Not only can the project-level
administrator maintain the selection list, but this field has auto-assignment capabilities.
Example: If Component “X” is selected, assign Issue to user “Y.” Using the "build a car"
example above, you could use this to automatically assign any "Tires" request issues straight to
Mary, and any "Engine" related issues to John, etc.
Set up auto-assignment by entering a username in the "Component Lead" field. Then, set the
"Default Assignee" field to the value "Component Lead." Alternatively, you can assign all issues
to one specific person for triage or assign all issues no one (using the "Unassigned" option) for
later assignment.
NOTE
The auto-assignment ability only happens when a Component is selected as part of an issue
"create" action. Later, if a component is selected or changed, as part of an "edit" action, no
auto-assignment change will occur.
DO
Make the component names short. Really long and multiple word values make issues
harder to search for.
DON’T
The only thing you should NOT use Components for is to duplicate an existing JIRA field
or function. (Example: Don't use this to group issues by a person's name. JIRA uses
the "Assignee" field to specify who needs to complete an issue.)
jirastrategy.com | 61
If you're not sure how you might want to use the Components feature, skip it and come back to
it later. After you've used the project for a while, issue patterns should become clear.
The "Users and roles" area gives specific users, or established groups of users, access to
perform certain actions within the project. The options to update the Project Lead and the
Default Assignee for all (not otherwise assigned) issues are at the top of the page.
There are a number of pre-established roles. For now, let's focus on the "Administrators" and
"Users."
Administrator
Any listed user or group with project-level admin rights can modify all settings for the project.
They will see what you are seeing right now. In general, this list should have as few names in
it as possible.
User
A user is someone involved with any aspect of a project. This is someone who creates issues,
requests work, completes work, reviews work, etc. Add the names of your individual team
members here.
Conclusion
If you haven't already, create some sample issues so you can see how the project works. Also,
try transitioning an issue all the way from creation to completion to see how it behaves in its
life cycle. If the issue screens have the fields you need and the workflow functions as you need
it to, then you are done with your configuration! If not, you'll need to request further
customizations from the JIRA Support team.
Download this wording at: jirastrategy.com/link/project-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Your JIRA project has been created and configured, but what if you need additional
customization? The following areas of your project can be further modified:
Fields
Are there fields on your create, edit, or view screens that will never be used? If so, ask for
these to be removed for your project.
Example: "Please remove the [fieldname] field from [projectname]'s" create, edit, and
view screens."
▪ What kind of field is needed? (What type of data will be collected?) Example
field types: text, number, date, checkbox, select list, URL, etc.
▪ For a text field, will a single line or multiple lines of text be collected? For a
checkbox or select list, what are the individual selection values? (Example:
choice 1, choice 2, etc.)
6. What screens should the field be shown on? (Create, edit, view, or all?)
Screens
Each issue type has three standard screens: create, edit, and view. In addition, you may have
transition screens that display as part of the workflow.
• The presence of tabs. (If you have many fields, use tabs to break them up into logical
groups.)
jirastrategy.com | 63
Image: "Internal Details" Tab Example
NOTE
It is possible to hide a field on your "create" screen, but show it on your "edit" and "view"
screens. This is helpful for projects with complex data needs. It's best for your end users to
only ask for the information you absolutely need up front and collect additional details later.
This certainly means more screens to maintain, so only use this technique only when truly
warranted.
Workflows
There are two parts of a workflow to know about: statuses and transitions. A status is
a descriptor of an issue's current state. (Example: "In Progress" or "Closed.") A transition
is forward or backward movement between statuses. Between each status are a number of
transition buttons to facilitate movement. A transition button can also trigger a screen to
collect additional information, update existing information, or provide user instructions.
Notifications
Your project can send email notifications for various standard and custom events. Notifications
can be sent to individuals, project roles, or (externally managed) corporate distribution lists.
• When an issue is reassigned, email the original Assignee and the new Assignee.
This feature should be used sparingly, and only for most important events. If you send the
entire team an email for each and every content and status update, they are likely to filter their
JIRA email and miss the important messages. Email notifications should be considered a
passive and secondary monitoring method. (The primary method is for users to proactively
monitor issues by regularly logging into JIRA and utilizing filters and dashboards.)
Permissions
Your project has its own set of permissions that can be further customized. This includes
abilities to perform certain standard actions like: "Create Issue", "Assign Issue", "Manage
Watchers", etc. Standard actions can be restricted to project roles, groups, and individuals.
Restrictions can quickly become a maintenance nightmare however. It's best to only add
restrictions when absolutely necessary.
Download this wording at: jirastrategy.com/link/project-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
jirastrategy.com | 65
Issue Types
Quick Explanation
Issue Types serve as a simple distinguisher between requests.
Attributes:
• Name
• Description
• Icon
Benefits:
Documentation: jirastrategy.com/link/issue-types
Best Practices
DON’T
Create super specific or duplicate issue types
Before you create new issue types, consider what kinds of issues your users will report, and then
group them into one generically named item. Here's an example:
Issue Type
Kinds of Issues Notes
Name
I've found a: Bug Instead of multiple issue types, use a custom field to
Development Bug, collect the environment (location) of the bug.
Staging Bug,
Production Bug
I need a: Password, Access, or even The type of access needed by the user will be specified
Building Key, Server more generic in their request copy. If that's not enough and you'll
Account (Example: need to query on the type of access, use a label,
Support) component, or custom field to collect that level detail.
Ideally you would have one Issue Type to indicate a software error. Instead, one company
had 9! For example: Bug, Defect, Beta Defect, Bug Report, Development Defect,
Production Defect, etc. Additionally, there were 22 issue types with the word “Task” in
them! All these items were mere duplicates, not useful distinguishers.
The more issue types you have, the harder your application becomes to manage. A long
issue type list means a longer process to move issues or associate them with a different
workflow.
• Description
o Example: A Project for a development team may utilize: Feature, Bug, and Task
o Example: A Project for a business team may utilize: Request and Task
Documentation: jirastrategy.com/link/issue-types
When it comes to creating issue types, it’s important to keep things organized.
At one company, there were a few projects that used the default Issue Type Scheme, which
contains every available issue type. Reporters in that project were overwhelmed when
creating a new issue. Why? Because they had to wade through over 100 available
selections! The choices weren't even listed alphabetically! Project leads couldn't easily
report on or segment the issues their teams were addressing. Don't assign the default
scheme.
jirastrategy.com | 67
DO
• Use sub tasks, which help users break up issues into manageable pieces.
• Order the Issue Types alphabetically, or by frequency of use, so users can quickly locate the
correct one.
DON’T
• Add Issue Types that are too specifically worded, or won't be shared by a large number of
projects.
• Add similar Issue Types. (Example: Don't use both "Bug" and Defect.")
• Set a default unless you are sure that type will be used most often by all projects.
How many different combinations of issue types could a company possibly need? One
company had 134! This was not because they were actually needed, but because new types
and schemes were created for every new project.
Here are some sample issue types you might find in different types of projects.
Project Type Software Business JIRA Support
Issue Types
• Bug • Idea • New Project
• Improvement • Task
• Story
• Task
• Sub-task
Using the example in the table above, create one Issue Type Scheme for each of the three types of
projects. For each scheme, associate the appropriate Issue Types. Then, each project can use the
scheme that most applies to them. Example: All projects where software development occurs can
use the scheme called "Software." No need to create one separate scheme per project.
DO
• Issue Type Scheme names should describe the group of Issue Types, not the Project that
plans to use the grouping. Example: “Development Suite”
• Issue Type names should be generic. Example: “Task” is sufficient. Don’t make a new type
for every sort of task a user could request.
MISTAKE
When I made my first JIRA project, I created 4 new, duplicate, issue types. For example: I
created "Project Name Task" when the generic "Task" type already existed.
RECOMMENDATION
Publish to a list of available Issue Types. It may encourage end users to request existing values,
rather than proposing new or similar ones. Send users to the "Show Constants Help" page (at:
yourjiraurl.com/secure/ShowConstantsHelp.jspa), copy and paste a static list from JIRA, query
the database, or use the REST API to generate a quick list of available selections.
See the "Database Queries" section for more info.
jirastrategy.com | 69
Statuses
Quick Explanation
Statuses – descriptors for an issue's current state.
Example: Open, In Progress, Closed
Attributes:
• Name
• Description
• Category
Documentation: jirastrategy.com/link/jira-status
Status names must be unique; JIRA will not allow you to create duplicates.
Best Practices
DO
• Name statuses so they reflect a current state. Good status names immediately tell a user
what is occurring and what state an issue is in the workflow process. (Example: "Pending
Review", "In Review", "Being Reviewed", "Awaiting Review", etc.)
• Teach your users the difference between the "Resolved" and "Closed" statuses.
DON’T
o Example: "Pending Review by Marketing" or "Pending Review by John." These are too
specific and make workflows hard to maintain and share between projects.
o Example: "Reviewed." A word in this tense is a "dead end" and doesn't tell the user
what needs to happen next. A word in the past tense is more suited as an action word
for a transition, rather than a current state.
o Example: Rather than create statuses like "Abandoned" or "Rejected", use the
"Resolution" field to indicate the "how" or "why" an issue is in the "Closed" status.
• Create "temporary" or "dead" statuses where issues are likely to sit for an indefinite amount
of time.
RECOMMENDATION
It may be useful to publish a list of available statuses. It may encourage end users to request
existing values, rather than proposing new or similar ones. You can: send users to the "Show
Constants Help" page (at: yourjiraurl.com/secure/ShowConstantsHelp.jspa), copy and paste a
static list from JIRA, query the database, or use the REST API to generate a quick list of
available selections.
Status Categories
A status category helps a user visually identify where an issue is in its lifecycle. It's important to
assign a status to the most logical category selection. For example, early workflow statuses like
"Open" or "New" belong in the "To Do" category. Statuses in the middle of a workflow, like
"Awaiting Approval", "In Development", or "Being Verified" belong in the "In Progress" category. A
status at the end of a workflow, like "Closed" or "Done," belong in the "Done" category. Each
category has a unique color and is seen by end users on an issue's "view" screen or in a workflow
diagram.
jirastrategy.com | 71
Resolutions
Quick Explanation
Resolutions – ways issues can be closed
Example: Fixed, Duplicate, Cannot Reproduce
Attributes:
• Name
• Description
Benefits:
What is a Resolution?
A Resolution answers the question: "Why is this issue closed?" If work was completed, the issue
may be marked as "Done" or "Fixed." If the issue is a duplicate of another issue, the reason for
closing is "Duplicate." If the issue works as intended or can’t be replicated, the resolution may be
"Won't Do" or "Won't Fix."
Resolutions prevent the need for long status names, like "Closed as Complete" or "Closed as a
duplicate.”
A Resolution is generally set at the time an issue reaches the "Resolved" status. An issue is shown
as "Unresolved" until a value is set for this field.
RECOMMENDATION
Once an issue is marked “Resolved,” take your users to a transition screen as part of the
workflow. Alternatively, you can auto set a resolution using a workflow post function. It's
always better to allow the user to set the appropriate value, but even a generic value of "Fixed"
is better than allowing a closed issue to show the default value of "Unresolved."
One company had so many resolutions that they created a custom field to show a sub-set of
selections for specific projects. A workflow post function was then used to copy the custom
field value to the resolution field. Discrepancies between the selections in the custom field
and the Resolutions created application errors in the front end and back end. Instead of
creating a workaround, the company should have limited their Resolutions list to selections
that would work for all projects.
RECOMMENDATION
When an issue is reopened, use a workflow transition to clear the value of the "Resolution" field.
1. Workflow Transition
Create a temporary workflow transition to update resolutions with a background post
function.
▪ PROS: This action will leave an audit trail as the changes will be logged as part of the
issue history.
▪ CONS: You need to create one transition and post function per status, per workflow.
This potentially means a lot of manual work. Additionally, your change may generate
a large amount of email notifications.
▪ PROS: The change completes very quickly, you don't need to create new workflow
transition behaviors, and no email notifications are sent.
▪ CONS: This change leaves no audit trail. The issue update date is unchanged and
audit log records no activity.
3. Other
While these other options exist, none are recommended. Depending on the scope of the
problem, it may be best or easiest to fix a "missing Resolution" problem for all net new
issues, and leave existing issues as they are.
jirastrategy.com | 73
o Export the problem issues, add Resolution values, and then re-import the
issues. The "External Issue Import" function can handle issue updates, as long
as the unique issue keys are provided for mapping. Alternatively, you could
import the issues into a new project.
▪ Backwards Transition
RECOMMENDATION
To prioritize which issues to fix first, search for any issues beyond the "Resolved" status where a
resolution value is missing. JQL example: resolution = empty and status not in (open, "in
progress")
Unresolved Resolutions
In his book, Practical JIRA Administration, Matt Doar explains that "adding a Resolution named
"Unresolved" is a bad idea. Since the resolution field has a value, the issue will still be treated as
resolved by the standard JIRA gadgets." Here are some recommendations to avoid confusion and
clutter:
RECOMMENDATION
Treat "unresolved" as a reserved word. Never add it to your list of Resolution selections.
RECOMMENDATION
Alphabetize the Resolution selection list (and all others) so users can easily find familiar terms.
Don't create Resolution values like "On Hold" or "None" or any wording that sounds like an issue
isn't actually resolved. These selection types are invalid and confusing.
RECOMMENDATION
Don't create a Resolution value that means "Wrong Project" or "Wrong Type." If an issue is
created in the wrong project, then the problem shouldn't be marked "resolved" where it is.
Instead, use the "Move" command to move it to the correct place.
At one company, there were 34 resolution choices which included specific selections like
"Rejected by Security Team" and "Rejected by Finance Team." Additionally, there were no
selections for other departments that could reject a request. Many selections were
duplicates of each other. Some selections were invalid. For example, how can an issue that
is resolved also be "In Progress"?
RECOMMENDATION
Don't create overly specific Resolution values. For example, you probably don't need values like
"Rejected by Finance", "Rejected by Legal", and "Rejected by CEO" when a simple, more generic
"Rejected" value is sufficient. Only use non-generic values when there's a specific need or when
the data will be often queried.
At one company, resolutions weren't set by workflows. As a result, users would see all
issues, regardless of status, when viewing the "Assigned to Me" dashboard gadget. This is
because the gadget query rightly assumes unresolved issues are not completed.
Prevent the problem for new issues by addressing the workflow. Fix existing issues using one of the
"Bulk Update Resolutions" methods.
jirastrategy.com | 75
Priorities
Quick Explanation
Priorities – a relative ranking of severity or importance
Example: Low, Medium, High
Attributes:
• Name
• Description
• Icon URL
• Priority Color
Benefits:
• The display of priority levels can be ordered from highest to lowest.
Best Practices
DO
• Set an appropriate color to represent the priority. Example: In web design, the color red
immediately conveys attention is needed. It's often used to display a warning, an error, or to
mark something urgent or important.
• Make sure the icon correctly represents the priority’s severity. The icon is only what is shown
on many screens.
RECOMMENDATION
Always place the "Priority" field before a requested date field on a screen. It may help set
realistic expectations to collect the importance before a date is entered.
Attributes:
• Name
• Description
Parts:
• Statuses – descriptors for an issue’s current state
Documentation: jirastrategy.com/link/jira-workflow
A workflow is a standard set of statuses (steps) and transitions (movement between steps) that each
issue follows through in its lifecycle. Statuses take an idea from "conception" to "completion" or a
bug from "reported" to "fixed in production." Each project can have its own workflow and each issue
type within a project can have its own workflow as well. For example:
• A Task issue type might require a very simple workflow, with simple statues like "Open", "In
Progress" and "Closed."
• A Feature issue type might require additional statuses for steps that occur in the software
development process.
• Statuses for testing, code review, and deployment, for example, may make the workflow
more complex.
• A Workflow Scheme name should describe the type of life cycle process group. Example:
“Development Lifecycle”
jirastrategy.com | 77
Create a Workflow
RECOMMENDATION
In the beginning, keep workflows as simple as possible, until you've uncovered a deficiency or
process step that needs special attention.
The steps below outline the best practices for creating a workflow:
1. Before creating a new custom workflow, have the user explain their real life process to you.
The workflow should be as simple as possible.
2. First, draw (preferably on paper) a workflow to ensure it makes logical sense and all forward
and back transitions are accounted for. You can use the "Custom Workflow Documentation"
template as a way to communicate and document workflows.
3. After drawing the workflow, write the workflow out in words. This can uncover additional
needs you may have neglected to draw or consider.
▪ Example: Include a "reopen" transition button in the final status to deal with issues
that were improperly closed. (As this is a maintenance action, restrict this action to
project administrators.)
7. Use transition conditions sparingly. If a condition is needed, set the restriction to a project
role, rather than to individual, for easy maintenance.
8. Use transition validators and post functions to minimize the amount of manual work a user
has to do.
▪ Automatically move a parent issue to "In Progress" when a child issue starts progress.
Read more in the "Example Workflow Behaviors" section.
▪ Name statuses so they reflect the current state. Good status names immediately tell a
user what is occurring and what state an issue is in the workflow process. For
example, "Pending Review", "In Review", "Being Reviewed", "Awaiting Review", etc.
▪ Make any status names short and easy to understand what is happening with an issue.
Long, multi-word names are harder to query and may be truncated on certain
screens.
▪ Good transition names immediately tell a user what action to perform to progress an
issue.
▪ Bad transition names confuse the user about how to move forward.
Here’s a list of what not to do so you can avoid creating polluted workflows:
DON’T
• Use a "Closed" status before an issue is actually in its final state. ("Closed" should indicate no
remaining work of any type is needed.)
o Example: "Pending Review by Marketing" or "Pending Review by John." These are too
specific and make workflows hard to maintain and share between projects.
o Example: "Reviewed." A word in this tense is a "dead end" and doesn't tell the user
what needs to happen next. A word in the past tense is more suited as an action word
for a transition, rather than a current state.
▪ Example: Rather than create statuses like "Abandoned" or "Rejected", use the
"Resolution" field to indicate the "how" or "why" an issue is in the "Closed"
status.
o Create "temporary" or "dead" statuses where issues are likely to sit for an indefinite
amount of time.
▪ Example: "On Hold” (A status like this can be useful if a responsible party
proactively and regularly reviews issues in this state.)
jirastrategy.com | 79
RECOMMENDATION
Build your workflow in a test environment first. Then, after you've verified all your changes,
export the workflow and import it into your production environment. This prevents users getting
spammed with test issue and transition notifications.
TIP
To modify the last status of a workflow that's in use, you must first make it inactive (disassociate it
with its current project or issue type.) An easier way is to make a copy of the active workflow, make
your changes to the copy, assign the copy to your project, and then delete the original.
TIP
Any inactive (unassigned) workflows will be listed under the "Inactive" header at the bottom of the
Workflow admin page.
Custom Workflows
It's easy to customize workflows and therefore easy to go overboard, creating more structure than
you really need. A Task issue type might require a very simple workflow, with simple statues like
"Open", "In Progress" and "Closed." A Feature issue type however might require additional statuses
for steps that occur in the real software development process. Statuses for testing, code review, and
deployment, for example, may make the workflow more complex.
Phased Approach
It's certainly possible to capture every little step in your work process and build that into a complex
and long JIRA workflow. An alternative however, is a phased approach. Simply break your process
into phases that represent a collection of smaller steps. The phases represent key decision points.
An issue can’t be moved to another phase until the requirements of that phase have been satisfied.
Each phase represents a status in JIRA, not a small step in the phase.
In the background however, during the main phases, many additional things are happening. For
example:
• Hiring managers are checking applications for experience and desired skill combinations, etc.
• HR is setting up appointments with the applicants and sending them directions to the hiring
office.
• Hiring managers are meeting with applicants and giving facility tours, etc.
In the above example, is it useful to create a status for every step that occurs in the interview
process? Do you need to track whether or not a conference room is booked for the interview? If the
answer to either question is "no" a phased approach may be more useful. If you do need to track
conference room bookings, you may need to add a status or require some field-level indication as
part of the workflow.
TIP
If you're not going to query for "all issues in a certain status", that status may not be necessary or
useful.
RECOMMENDATION
Building a custom workflow should always start on paper. The very last step in the workflow
customization process should be creating and testing it in JIRA.
jirastrategy.com | 81
Custom Workflow Process
Step 1: Write down (in words) the real-world process to complete a request.
RECOMMENDATION
Verify this process description with other end users. It's possible that a little known step was
mistakenly omitted or that it represents an ideal or changed process (which may differ from the
current process.)
Step 2: Using the written narrative, determine the Statuses. Identify the steps or high-level phases
an issue must go through in its lifecycle.
RECOMMENDATION
Help the requestor select existing status names. Only create new statuses if a feasible
alternative doesn't already exist. See the "Naming" section in the "Project Configuration"
chapter.
Step 3: Determine the Transitions. These are the buttons to allow forward movement, backward
movement, or other actions between statuses.
Step 4: Determine the Conditions (restrictions), Validators (rules), and Post Functions needed for
each transition.
Step 5: Determine any special needs. For example, allowing the project administrator to perform a
certain maintenance action.
Use this template to document workflows or collect workflow customization information. This
template may be most useful for the end user audience.
RECOMMENDATION
When building and documenting workflows, use a standard format, so the intricacies are
easier for users to predict and understand.
RECOMMENDATION
A graphical screenshot of a workflow doesn't tell the entire story. Always include a
narrative, explaining the workflow in words. Also include a table showing the transitions
and their embedded rules.
View: Statuses
In Words: [insert]
Example: There are three statuses. On creation an issue is in “Open” status. When work
begins, an issue moves forward to “In Progress” status. Work is finally finished in the “Closed”
status.
[insert image]
In Words: [insert]
Example: On creation an issue is in “Open” status. A user clicks the “Start Progress” transition
button to move forward to the “In Progress” status. A user clicks the “Close” transition button
to move to the final “Closed” status.
[insert image]
In Words: [insert]
Example: On creation, an issue is in “Open” status. A user clicks the “Start Progress”
transition button, to move to the “In Progress” status, or the “Close” transition button to move
to the “Closed” status. Once in the “In Progress” status, a user clicks the “Close” transition
button to move to the final “Closed” status, the “Stop Progress” transition button to move back
to the “Open” status, or the “Close” transition button to move to the final “Closed” status. In
the “Closed” status, a user clicks the “Reopen” transition button to move back to the “Open”
status.
[insert image]
jirastrategy.com | 83
Download this worksheet at: jirastrategy.com/link/workflow-documentation. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
Workflow Templates
Here are some standard and custom workflow templates to use as examples. All the examples are
explained using a standard template. This is an abbreviated version of the "Custom Workflow
Documentation" template above.
Use this worksheet as another way to build and document workflows. This template may be
most useful for the application administrator audience. See populated examples of this template
below.
Screenshot Details
[image] Workflow Name: [name]
This is the simplest workflow possible and it's Atlassian's default when you create a task
management type of project. It's helpful to understand default elements before creating custom
ones.
Use Case: Users have their own personal tasks to complete that are not associated to a large
project or even a team. Why not create a simple, company-wide, "to do" project?
Create a personal, "to do" list project by modifying the permissions scheme so users only view
and work on issues assigned to them. On the create screen, allow a user to set the assignee to
themselves, bypassing the project's default assignee.
Screenshot Details
Narrative: There are two statuses. On create, an issue is in the initial "To Do" status. When work
is complete, the user clicks the "Done" transition button to move to the final "Done" status. If
additional work is needed, the user clicks the "Reopen" transition button to move back to the "To Do"
status.
Transition Button
Linked Transition Behaviors (Triggers, Conditions, Validators
>> Destination
Status Screen & Post Functions)
Status
To Do Done >> Done None
• Only users with Resolve Issues permission
can execute this transition.
• The Resolution of the issue will be set
to Done.
Done Reopen >> To Do None
• Only users with Resolve Issues permission
can execute this transition.
NOTE
This default workflow uses a "Resolve Issues" condition. Give all users the ability to resolve issues in
the project's permission scheme or remove this rule from the two workflow transitions.
See this built-in workflow live in JIRA version 6.4 and higher.
jirastrategy.com | 85
Sample Workflow: Approval
While you can create multiple statuses to collect multiple approvals, you don't have to do it that way.
A status per approval creates an unnecessary bottleneck. Instead, use a transition button to collect
each approval. Once all approvals are granted, the issue can transition to the next status.
RECOMMENDATION
Katherine Burstein, Sr. Manager of Compliance and Dallas Texas AUG Leader, has a workflow
approval implementation that your auditors will love. "For our release process, I built a way to
capture various levels of approvals. There is an approval that must be given before the next five
sign-offs occur. The five sign-offs can occur in any order. Once they are completed there's a
final sign-off."
I love Katherine's suggestion so much, I built something similar. Here's a simple example.
NOTE
This workflow requires the "Suite Utilities for JIRA" add-on. Read more about it in the
"Noteworthy Add-ons" section.
Use Case: The Marketing and Legal departments need to approve issues before Development work
starts.
Screenshot Details
Workflow Name: Approval
Narrative: On create, an issue is in the initial "Open" status. Two approval transition buttons are
visible. When a Marketing Executive clicks the "Marketing Approved" button, their name is recorded,
displayed in the "Marketing Approver" custom field, and that transition button is hidden. When a
Legal Executive clicks the "Legal Approved" button, their name is recorded, displayed in the "Legal
Approver" custom field, and that transition button is hidden. When both approvals have been
recorded, the "Start Progress" transition button is visible and the workflow continues as normal.
(The remainder of the workflow is not documented.)
1. Create two "User Picker (single user)" custom fields. Name them "Marketing Approver" and
"Legal Approver." These fields store the usernames of the approvers.
2. Create two transition buttons in the same status. Name them "Marketing Approved" and
"Legal Approved." These are the buttons the approvers click to indicate their approval.
3. For each approval transition, use a "Permission" or user membership-type condition to hide
each transition from non-approvers. (Optional)
▪ Example: Only users in a group called Marketing Execs can execute this transition.
▪ NOTE: Never limit a transition ability to a single user. Always have a small list of
users for cases where the primary user is unavailable.
4. For each approval transition, use an "Update Issue Custom Field" post function to dynamically
set the approver value. The value is the name of the person who clicked the button. (This
function is provided by an add-on.)
5. For each approval transition, use a "Value Field" Condition to hide the transition once the
related field has a value.
▪ Example: The field Marketing Approver will have to be equal to value 'NULL'.
Compared as String.
▪ NOTE: Do not type the value "NULL." Simply leave the value field blank.
6. Create a "Start Progress" transition to move the workflow forward once all approvals are
recorded.
7. For the "Start Progress" transition, add a "Field Required Validator" to hide this transition until
all approvals are recorded.
▪ Example: The field Marketing Approver will have to be equal to value 'NULL'.
Compared as String.
▪ NOTE: Do not type the value "NULL." Simply leave the value field blank.
jirastrategy.com | 87
8. Add the "Marketing Approver" and "Legal Approver" fields to the issues "View" screen.
▪ NOTE: Don't add the fields to the "Create" or "Edit" screen. The values should be
auto-set by transitions and not manually manipulated by users.
Linked Transition Button >> Behaviors (Triggers, Conditions, Validators & Post
Status Destination Status Functions)
Open Marketing Approved >> • Only users in group Marketing Execs can execute
Open this transition.
If an issue moves backward in the workflow or is reopened, you may want to clear the approval field
values and resubmit for approval.
You can use "Date Time Picker" custom fields to display the timestamp of the approval. You can use
a similar "Update Issue Custom Field" post function and the %%CURRENT_DATETIME%%
notation to set the field value. Don’t forget to record the approver's comments during the transition.
This is useful for conditional approvals. Example: "Marketing approves provided the total
Development effort is less than 1,000 hours."
This workflow shows a sample process for managing a tangible asset (like a computer), acquired
from a third party.
Use Case: A user requests a new computer, which creates new issue. Once the request is
approved, the machine is ordered. The order goes through the purchase, receipt, and configuration
processes. When the user receives the new computer, the record for the old computer is manually
updated to indicate it is retired.
Screenshot Details
Narrative: There are seven statuses in this workflow. On creation, an issue is in “Pending
Approval” status. The approver clicks the "Approve" transition button to move to the "Pending
Purchase" status. Once the purchase has been made, the "Purchased" transition button is clicked
and the issue moves to the "Pending Delivery" status. The "Received" button is clicked if all is well
with the shipment. If the package needs to be returned, the "Return" button is clicked. Once the
package has been unwrapped, configured, and delivered to the user, the "Deployed" transition
button is clicked and the issue moves to "In Use" status. When an item has reached its end of life,
the "Retire" button moves the issue to the "Closed" status. If the item ever needs service while in
use, the "Repair" button is clicked. An item in "Closed" status can be brought back to use with the
"In Use" transition button.
NOTE
This workflow requires the following add-ons: "Suite Utilities for JIRA" and "JIRA Misc Workflow
Extensions." Read more about it in the "Noteworthy Add-ons" section.
jirastrategy.com | 89
Behaviors (Triggers,
Linked Transition Button >>
Transition Screen Conditions, Validators &
Status Destination Status
Post Functions)
Pending Approved >> Pending None • Assign the issue to the
Approval◊ Purchase Lead Developer.
Denied >> Closed None • Assign the issue to the
reporter.
Pending Purchased >> Pending Purchase (Includes • n/a
Purchase◊ Delivery fields: Order Number,
Vendor Name,
Purchase Date.
Required: Order
Number)
Pending Received >> Pending Received (Includes • n/a
Delivery Deployment fields: Received Date.
Required: Received
Date)
Return >> In Repair Comment • n/a
Pending Deployed >> In Use Deployed (Includes • n/a
Deployment fields: Deployment
Date, Recipient.
Required: Deployment
Date, Recipient)
Return >> In Repair Comment • n/a
In Use◊ Retire >> Closed Resolution (Includes • Fire an Issue
fields: Resolution, Closed event that can be
Comment. Required: processed by the listeners.
Resolution)
Repair >> In Repair Comment • n/a
In Repair Pending Delivery >> Comment • n/a
Pending Delivery
Pending Deployment >> n/a • n/a
Pending Deployment
In Use >> In Use Comment • n/a
Closed In Use >> In Use Deployed (Includes
• The Resolution of the
fields: Deployment
issue will be cleared.
Date, Recipient.
Required: Deployment • Assign the issue to the
Date, Recipient) Lead Developer.
• Fire a Issue
Reopened event that can
be processed by the
listeners.
• In the "Pending Approval" status: See the "Approval" workflow example to collect more than
one approval in the same status.
• In the "Pending Purchase" status: Collect just a few purchase details used to lookup the
purchase record stored in a separate system. Alternatively, use a JIRA project or issue type
for storing all purchase details!
• In the "In Use" status: The record for the old computer should be manually updated to
indicate it was retired.
Atlassian's Sr. Agile Coach, Dan Radigan, put together a comprehensive guide to asset management.
Download the ebook from: jirastrategy.com/link/asset-management
RECOMMENDATION
What do you do if you already have an inventory system with dedicated asset IDs? Line up
existing IDs with new JIRA IDs. Here's how: Export your existing asset data to a spreadsheet
like Excel. For each line item, add a column to represent the issue ID, in the JIRA key format.
Ex: Spreadsheet line item #15 will become ASSET-15 in JIRA. Use the CSV importer to get the
data into JIRA. Import all your existing IDs before manually creating any new records. I don't
usually recommend specifying the key in an import, but this is a special case. For more
information, see the "Bulk Import" chapter.
This workflow is for supporting the JIRA application. See it in the "Sample JIRA Support Project
Set Up" section.
jirastrategy.com | 91
Sample Workflow: Choose Your Own Adventure
"Choose Your Own Adventure" is a series of children's books where the reader is given periodic
options. Their choice directs them to a specific page, where the story continues. The chosen options
along the way dictate which ending you receive.
RECOMMENDATION
Daniel Eads, Support Engineer and Ann Arbor, Michigan AUG Leader shows you can be
amazingly creative with workflows. "I built a short "Choose your own Adventure" game in JIRA.
The workflow allows different paths you can choose. Most steps have a 50/50 chance of failing
or winning. There is a post-function on each transition, which tells you the result of your choice
in a comment. Some statuses have a riddle for you to solve. I use a custom field for text input
and a validator in the transition to prevent advancement until the answer is correct."
Also see Atlassian's Workflows Guidebook for more sample custom workflows:
jirastrategy.com/link/workflows-guidebook
The menu buttons are often a source of user confusion. I've experienced the following:
• Because workflow transition buttons differ among projects and issue types, users aren't sure
which one to click.
• Users think the first workflow transition button is the issue's current status.
• The close visual proximity of the standard issues buttons to the workflow transition buttons
can also be confusing.
Here's a graphic you can use to show the two button types.
Download this graphic at: jirastrategy.com/link/button-graphic. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
RECOMMENDATION
Don't name a workflow transition button with the same name as a standard issue button.
Otherwise, you'll have two "Assign" buttons or two "Comment" buttons, which will really confuse
your users.
Resolved vs Closed
"Resolved" and "Closed" are confusingly similar statuses, especially for non-development teams.
"Resolving an issue indicates that the developers are satisfied the issue is finished."
"Closing an issue indicates that there is no more work to be done on it, and that it has been
verified as complete."
jirastrategy.com | 93
MISTAKE
For quite some time, I didn't understand how "Resolved" and "Closed" were used to build
workflows. When presented with both transition options, users didn't understand which to
select either. This led to issues considered as "done" in either status! There was no way to
report the total work "done" without manually adding counts from the two statuses together.
Issues languished in "Resolved" status until I figured this out and globally fixed it.
RECOMMENDATION
There should only be one status where it's clear that no additional effort is required. The
standard "Closed" status or the business project-friendly "Done" status is sufficient.
Alternate Transitions
The "happy path" (forward) transitions are often self-explanatory. But what if you need to offer
back steps or alternate paths?
RECOMMENDATION
Pick a naming convention that clearly indicates a transition is a backward step or a shortcut.
Example: "Back to Open" or "Skip to Closed"
RECOMMENDATION
When creating a temporary transition, name it "temp" so it's easy to spot (or search the
database for) if you forget to remove it.
Instead, the first status in this workflow should be "Open,” "To Do," or something similar. ("Open"
and "To Do" are standard JIRA status names.) The first status should signify to the end user that
the issue has been received, but no action has been taken yet.
MISTAKE
(1) That JIRA treated transitions to the "Closed" status specially. I thought there was logic in
the background making “Closed” the final step in a workflow.
This all made perfectly logical sense to me, except both assumptions are totally wrong!
JIRA has no special regard for the status named "Closed"; it is a status just like any other.
When you create a new workflow transition, a default post function is automatically added. It
reads "Fire a Generic Event event that can be processed by the listeners." Instead, update it
to read "Fire an Issue Closed event that can be processed by the listeners." See the
screenshot example in the “Standard and Custom Notifications” section.
Broken Workflows
Sometimes workflows break or develop conflicts due to administrative actions in other areas of JIRA.
The built-in Integrity Checker function can sometimes detect and resolve these issues, but other
times, your users will report a missing transition button, a visual error after clicking a transition
button, or other unintended behavior.
MISTAKE
jirastrategy.com | 95
I had just finished a project which involved custom date fields with workflow validation rules. We
later decided to use custom time stamp fields instead of custom date fields. Since JIRA doesn't
easily let you change types of custom fields, I would need to delete the new fields, re-create them in
the new "Date and Time" format, and update all the workflow behaviors. When I deleted the original
fields, I assumed JIRA deleted the related workflow behaviors, like it removed fields from any
screens using them. I was wrong! I immediately caused conflicts in my active workflows and
received numerous error reports from end users. The only solution was to restore the workflow to
its previous state or quickly delete and replace any of the problem rules. (I did the latter.)
RECOMMENDATION
Before deleting a custom field, search for it in the "descriptor" column in the "workflows"
database table. Remove any workflow behaviors associated with the custom field first.
Workflow XML
Extensible Markup Language (XML) is a way to encode information in a format that is readable by
both humans and machines. All workflow behaviors are stored as XML in the “descriptor” column of
the "jiraworkflows" database table. Knowing just a little bit about the XML creates the ability to find
common behaviors between multiple workflows. See the "Dead Steps" and "Finding Embedded
Workflow Behaviors" examples below.
Here's the XML for Atlassian's built-in, simple, 2 status, "Task Management" workflow.
jirastrategy.com | 97
54. </conditions>
55. </restrict-to>
56. <results>
57. <unconditional-result old-status="Not Done" status="Done" step="3">
58. <post-functions>
59. <function type="class">
60. <arg name="field.name">resolution</arg>
61. <arg name="field.value">10000</arg>
62. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueF
ieldFunction</arg>
63. </function>
64. <function type="class">
65. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowupdateiss
uestatus-function</arg>
66. <arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueS
tatusFunction</arg>
67. </function>
68. <function type="class">
69. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowcreatecom
ment-function</arg>
70. <arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateComment
Function</arg>
71. </function>
72. <function type="class">
73. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowgeneratec
hangehistory-function</arg>
74. <arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChan
geHistoryFunction</arg>
75. </function>
76. <function type="class">
77. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowreindexis
sue-function</arg>
78. <arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindex
Function</arg>
79. </function>
80. <function type="class">
81. <arg name="eventTypeId">13</arg>
82. <arg name="full.module.key">com.atlassian.jira.plugin.system.workflowfireevent
-function</arg>
83. <arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEve
ntFunction</arg>
84. </function>
85. </post-functions>
86. </unconditional-result>
87. </results>
88. </action>
89. </actions>
90. </step>
91. <step id="3" name="Done">
92. <meta name="jira.status.id">10001</meta>
93. <actions>
94. <action id="51" name="Reopen">
95. <meta name="jira.i18n.submit">jira.issuetracking.simple.workflow.action.reopen.name</m
eta>
96. <meta name="jira.description"></meta>
97. <meta name="jira.i18n.title">jira.issuetracking.simple.workflow.action.reopen.name</me
ta>
98. <restrict-to>
99. <conditions type="AND">
100. <condition type="class">
101. <arg name="permission">RESOLVE_ISSUES</arg>
102. <arg name="class.name">com.atlassian.jira.workflow.condition.PermissionCo
ndition</arg>
103. </condition>
jirastrategy.com | 99
Sample Workflow XML Notes
• Within the <steps></steps> section are all the workflow statuses. Each step includes the step
ID, status name, and status ID.
o The <actions></actions> section contains all the transition buttons for the status.
• This built-in workflow doesn't have a transition screen, but if it did, the XML would look like:
<meta name="jira.fieldscreen.id">10124</meta> where "10124" is the unique ID of the
screen.
Dead Steps
Workflow statuses that contain no incoming or outgoing transitions should be cleaned up. I call
these "dead steps" for lack of a better term. In JIRA 6.4 and later, there's a workflow validator
feature which highlights “dead steps” in the "diagram" mode. This method is helpful for a single
workflow.
RECOMMENDATION
For multiple workflows, search the XML to detect statuses with no incoming or outgoing
transitions.
You can export the rows in the “jiraworkflows” table to a text file. The XML powering the workflow is
stored in the "descriptor" column. Open the file in a text editor, like Notepad++. (notepad-plus-
plus.org)
A status with a transition has multiple "actions." In the XML example below, the "In Progress" status
has a transition button called "Done" with the description "Work has been completed."
1. <step id=""2"" name=""In Progress"">
2. <meta name=""jira.status.id"">10101</meta>
3. <actions>
4. <action id=""15"" name=""Done"" view=""fieldscreen"">
5. <meta name=""jira.description"">Work has been completed.</meta>
6. <meta name=""jira.fieldscreen.id"">12221</meta>
7. <results>...
Notes:
• False positives are possible. For example, transitions in a "Closed" status may be omitted by
design.
• Don't edit the workflow XML. It is much easier to make workflow changes in JIRA instead.
There are multiple ways you can grant permissions in JIRA. The most common ways are using
project-wide "Permission Schemes" (managed by the application-level administrators) and project-
wide "Roles" (managed by the project lead or project-level administrators.) Individuals can be given
permissions as well as groups.
But what happens when a user reports not having a workflow-related permission? Each workflow
transition button can have its own rules for who can see the button, when the button is clicked, and
what happens when the button is clicked. These rules are embedded in the workflow which can be
hard to find; workflows can have an unlimited amount of transition buttons.
When it's not feasible to manually check the rules for each individual transition, search the database
to find the conditions. All workflow behaviors are stored as XML, in the JIRA "jiraworkflows" table, in
a column called "descriptor." If you explore the XML, you'll notice a pattern.
For example:
As such, you can use a query to get a list of workflows with transitions restricted to groups or roles.
NOTE
Since database types differ and database structures change between versions, it's not possible to
provide queries guaranteed to work in your environment. Instead, work with your database team to
craft the queries you need, for your specific database set up, and for your query efficiency needs.
jirastrategy.com | 101
Sample Query:
SELECT id, workflowname FROM jiraworkflows WHERE descriptor LIKE "%<arg name=\"group\">%" OR
descriptor LIKE "%<arg name=\"hidRolesList\">%" OR descriptor LIKE "%<arg name=\"hidGroupsLis
t\">%"
Further refine your query as needed, so you can manually explore within a small subset of workflows
until you find the info you need.
One company had over 100 workflows and thousands of workflow transitions. None of the
workflows were documented and many were created years ago. The only quick way to find
which workflows had transition restrictions was through a database query.
MISTAKE
I once used the workflow "diagram" (visual) mode to change a status. I thought the change
would only apply to that one workflow. Instead, I changed the name of the entire status in all
of JIRA! Users alerted me to the problem when their workflows stopped working properly and
their filters broke.
Workflow Behaviors
JIRA comes with a number of built-in workflow Conditions, Validators, and Post Functions. In this
section, we’ll cover the most useful for practical strategies.
Standard Conditions
A Condition checks whether a transition should be performed by a user. If a Condition is true, a user
sees the transition button. If a Condition is false, the transition button is hidden. As such, a user
may encounter an issue with no transition buttons available to them.
RECOMMENDATION
Include all conditions in your workflow documentation so users know why they don't see certain
transition buttons and who can see them.
Only Condition to allow only the assignee • Simple check and balance, especially if
Assignee to execute a transition the Assignee cannot be modified or is
Condition restricted to a set of users.
Only Condition to allow only the reporter • Simple check and balance, especially if
Reporter to execute a transition the Reporter cannot be modified or the
Condition Create ability is restricted to a set of
users.
Permission Condition to allow only users with a • Restrict an administrative function (like
Condition certain permission to execute a closing an old issue regardless of status)
transition to the Administrators role.
• Restrict a transition to users who have
another specific permission (Example:
"Manage Sprints", "Schedule Issues",
etc.)
Previous Condition to check if the issue has • Useful for auditing. (Make sure an issue
Status transitioned through a specified went through an "Approval" status.)
Condition status or not
Separation Condition preventing a user to
• Make sure the user who did the work isn't
of Duties perform the transition, if the user
the same user verifying the work.
condition has already performed a transition
on the issue • Prevent the same user from providing
multiple levels of approval.
Sub-Task Condition to block parent issue • Prevent a parent issue from transitioning
Blocking transition depending on sub-task to "Closed" status until all child issues are
Condition status in "Closed" status.
o See this in use in the "Example
Workflow Behaviors" section.
User Is In Condition to allow only users in a • Only users in the "internal-users" group
Group given group to execute a transition can perform an action. Restrict external
users. (Example: contractors.)
User Is In Condition to allow only users in a • Only users in the "Developers" role can
Project Role given project role to execute a indicate development is complete.
transition
jirastrategy.com | 103
Additional Conditions
These Conditions are from the "Suite Utilities for JIRA" add-on. Read more about it in the
"Noteworthy Add-ons" section.
Name JIRA Description Use Case Examples
User Is In Condition to allow only users in a • Similar to the standard "User Is In Group"
Any Group given group to execute a above, except membership can include
transition multiple groups.
User Is In Condition to allow only users in a • Similar to the standard "User Is In Role"
Any given project role to execute a above, except permissions can include
Project transition multiple roles.
Role
User Is In Allows only users in a given • Only the user listed in the "Tester" custom
Custom custom field to execute the field can complete the verification step.
field transition
Value Field Allows to execute a transition if • Only show the "Approve" transition if the
the given value of a field is equal "Approval" field is null.
to a constant value, or simply
o See this in use in the "Example
set.
Workflow Behaviors" section.
• Restrict who can start work on issues where
the value in the "Risk" custom field is greater
than or equal to 3.
Standard Validators
A Validator checks whether certain data exists before the transition occurs. If a Validator is true, the
transition succeeds. If a Validator is false, the issue does not transition until the data updates or
returns true.
These Validators are from the "JIRA Misc Workflow Extensions" add-on. Read more about it in the
"Noteworthy Add-ons" section.
Name JIRA Description Use Case Examples
Field has single Multi-select Field has not • An issue can only be part of one fix version.
value Validator more than one value during
• Only one Component can be selected.
transition
Comment A validator that forces users
• A comment must be entered for transitions
Required to enter a comment during a
like: "Reopen", "Fail", etc.
Validator transition
o A similar function also provided by
the "Suite Utilities for JIRA" add-on.
Parent Status Validates that the parent • Prevent new Sub-task creation after a parent
Validator issue is in required state issue is resolved.
o See this in use in the "Example
Workflow Behaviors" section.
These Validators are from the "Suite Utilities for JIRA" add-on. Read more about it in the
"Noteworthy Add-ons" section.
Name JIRA Description Use Case Examples
Field Required Field must not be empty • An issue can't be resolved if the "Fix
Validator during the transition Version" field is empty.
• An issue can't be closed if no work has been
logged.
• A comment must be entered for transitions
like: "Reopen", "Fail", etc.
Conditions vs Validators
It’s important to note the different behaviors between conditions and validators. Transition buttons
will be hidden for failed Conditions. For failed Validators, the transition buttons show, however. This
is because the validity check happens just after the transition button is clicked.
jirastrategy.com | 105
Standard Post Functions
A Post Function is an additional rule or action that occurs after the transition. The functions only
execute if the transition is successful.
The following are provided by the "Suite Utilities for JIRA" add-on. Read more about it in the
"Noteworthy Add-ons" section.
Name JIRA Description Use Case Examples
Update Issue Updates an issue custom field • Similar to the default "Update Issue Field"
Custom Field to a given value but for custom fields.
Clear Field Clear value of a given field • When an issue is reopened, clear the value
Value of the "Resolution" field.
The following Post Functions are automatically added to each transition you create:
• Set issue status to the linked status of the destination workflow step.
• Update change history for an issue and store the issue in the database.
In most cases you won't need to modify these default actions or their order. The order of post
functions is important. See this knowledgebase article, jirastrategy.com/link/post-function-create,
about the order on the "Create" step, for example.
TIP
Many add-ons provide additional workflow functions. As noted in the "Plugins and Add-ons" section,
some workflow functions come pre-installed in Cloud environments. You may need to enable
them from your "Manage add-ons" admin page.
Read more about Conditions, Validators, and Post Functions at: jirastrategy.com/link/advanced-
workflow-config.
Use Case: When all child issues are closed, automatically transition the parent so users won't have
to do it manually.
NOTE
Implementation:
1. In the parent issue's workflow, add a Post Function, which will only be used by this automatic
process.
▪ Add the "Hide Transition" Condition to hide the button from regular users.
o NOTE: This transition cannot have any Screens or required field Validators.
▪ Add a "Sub-Task Blocking Condition." This prevents the parent from transitioning until
all children are closed.
o Example: All sub-tasks must have one of the following statuses to allow parent
issue transitions: Closed
2. In the child issue's workflow, add a "Transition Parent Issue" post function to all "Close"
transitions.
o Move the post function to the last position in the list. (This rule must run last.)
jirastrategy.com | 107
Use Case: When a work starts on a child issue, automatically start work on the parent issue, so
users don't have to manually do it.
NOTE
Implementation:
1. In the child workflow, add a post function to the "Start Progress" transition.
▪ Example: Transition "Start Progress" will be triggered on the issue's parent issue.
Use Case: Once a parent issue is closed, new child issues shouldn't be created.
NOTE
Implementation:
1. In In the child issue's workflow, click on the first status (Example: "Open") and select the
"Create" action.
▪ Add the validator called "Parent Status Validator" to check the parent issue's status.
o Example: The parent issue of current issue must be in one of the following
statuses: Open, In Progress
If a user attempts to create a child issue after all work is complete or after the parent issue is closed,
they receive the following error: Error creating issue: Transition is not authorized because current
Issue's parent Issue should be in one of the following statuses: [Open, In Progress]
Use Case: Progress can't begin on a child issue until the parent issue is in the "In Progress" status.
NOTE
Implementation:
1. In the child issue's workflow, add the validator called "Parent Status Validator" to the "Start
Progress" transition.
▪ Example: The parent issue of current issue must be in one of the following statuses:
In Progress
If a user attempts to start progress on a child issue before the parent issue, they receive the
following error: Transition is not authorized because current Issue's parent Issue should be in one of
the following statuses: [In Progress]
Use Case: If no child issues exist, allow a parent issue to be closed. This is useful to close
duplicates or when work can't be done. If one of more child issues exist, the child must be closed,
moved, or deleted before the parent can be closed.
Implementation:
• In the parent issue's workflow, for any "Close" transition, add a Sub-task blocking Condition.
o Example: All sub-tasks must have one of the following statuses to allow parent issue
transitions: Closed
The "Close" transition will be shown or hidden based on the above condition.
jirastrategy.com | 109
Transition Ordering
There are some additional properties that can enhance your workflows. An especially useful one
is "opsbar-sequence."
RECOMMENDATION
• Always order the buttons in the order they’re most likely to be used. The most likely, "happy
path" transition button should be displayed first.
• Use ordering values like 10, 20, 30 (instead of 1, 2, 3). If a new transition is needed, you
can insert it without having to reorder the existing transitions.
Documentation: jirastrategy.com/link/workflow-properties
• Description
• Associated Workflow(s)
Example:
• A project for a business team who utilizes Task and Sub-task Issue Types would have a
“Task" Workflow Scheme.
o Both Issue Types share the same life cycle steps. Multiple business projects share
this standard Workflow Scheme.
Documentation: jirastrategy.com/link/jira-workflow
Here are some sample workflows and issue types you might find for a software development project.
Workflow Issue Types Notes
Bug This workflow may include defect-specific
• Bug
steps. Example: Verification
Feature This workflow may include new feature-
• Improvement
specific steps. Example: Prioritization
• New Feature
• Story
Using the example in the table above, create one Workflow for each of the three types of work. For
each Workflow, associate the appropriate Issue Types. Then, each Issue Type will have
a consistent lifecycle across multiple similar projects.
jirastrategy.com | 111
Image: Sample Software Development Workflow Scheme
For additional workflow materials, visit the JIRA Strategy Store at: jirastrategy.com/store.
• Name
• Description
• Associated Fields
• Tabs (optional)
Screen Types:
• Create
• Edit
• View
• Transition
NOTE
A field can be present on a screen, but can be invisible to the end user if hidden in a project's
Field Configuration scheme.
Documentation: jirastrategy.com/link/jira-screen
Best Practices
DO
• Use a single screen for all issue actions. If there are too many fields, or data has to be
entered in stages, then use multiple screens.
• On the Create screen, include only the fields the user must populate. Too many fields or
extra "optional" fields can overwhelm the user.
• On the Edit and View screens, include all fields, so issues are easy to update.
• List fields in a logical order, preferably in the order a user would be likely to supply the
information.
• Have a consistent field order for screens and projects. Users expect and appreciate a
standard.
jirastrategy.com | 113
DON’T
• Add multiple date format or component-type fields on one screen. This may impact
screen load time, as the UI for these types is more complex.
• Ignore standard UI web form practices. See the "Standard Web Form Conventions"
section.
At one company, the "Epic Link" field was added to the global Create screens. Since that
field didn't apply to the majority of projects, users who were not familiar with this field were
confused.
When a field has a narrow usage, create a custom screen and apply it to the appropriate project(s).
• Check the field's settings for Issue Type and/or project scope restrictions.
• Check the "Configure Fields" button on the top right of a Create or Edit screen. The field may
be hidden in your personal view.
• If you use the ScriptRunner for JIRA add-on, a field may be hidden by a "behavior."
NOTE
• The location of any lists of users (Example: assignee, reporter, and participants-type
fields) and date-type fields which display on the right of the issue page.
• The display order of fields like: "Summary," "Description," "Linked Issues," and
"Attachments."
Screen Schemes
Quick Explanation
Screen Schemes – an association of screens with different issue operations
For example, one screen for "Create", a second for "Edit", and a third for "View."
Documentation: jirastrategy.com/link/screen-scheme
Screens, Screen Schemes, and Issue Type Screen Schemes work together to create a functional
relationship. Issue Types and Workflows have a parent-child relationship which is easy to
understand. Screens have an additional "grandparent" level however - the Issue Type Screen
Scheme. Atlassian explains this relationship well with the diagram at:
jirastrategy.com/link/screens-schemes-fields.
Simple Example
In this example, there's one Issue Type Screen Scheme, Screen Scheme, and Screen for all issue
types and operations. All the screens in this project display the same fields regardless of issue type
or action.
Grandparent Parent Child
Issue Type Issue Type Issue Screen Fields Screens
Screen Operation Scheme
Scheme
• Epic Development • Create Development • Summary Development
Issue Type Screen Scheme Screen
• Task Screen Scheme • Edit • Assignee
• etc.
jirastrategy.com | 115
Complex Example
In this example, the Epic and Task issue types share the same list of fields for all issue operations.
The Bug and Story issues types, however behave differently. On create, a Bug or a Story shows the
"Development Screen - Create" screen which displays four fields. However, on edit or view, a Bug or
Story shows the "Development Screen - Edit/View" screen which contains an additional field called
"Fix Version."
Grandparent Parent Child
Issue Type Issue Type Issue Screen Scheme Fields Screens
Screen Operation
Scheme
• Epic Task Issue • Create Task Screen • Summary Task Screen
Type Screen Scheme
• Task Scheme • Edit • Assignee
• View • Description
• Bug Development • Create Development • Summary Development
Issue Type Screen Scheme Screen -
• Story Screen • Assignee Create
Scheme
• Description
• Due Date
• Edit Development • Summary Development
Screen Scheme Screen -
• View • Assignee Edit/View
• Description
• Due Date
• Fix Version
Best Practices
DO
DON’T
3. If a field has a validation requirement, tell the user what the requirement is.
Give clear and easy to understand directions. Don't wait for a user to enter data incorrectly
before providing them with formatting instructions. For example, tell the user to enter their
phone number in the format: ###-###-#### rather than give them the error “Please enter
a valid phone number.”
Finally, and most importantly, make it easy, intuitive, and painless to complete forms. The process
should be simple for end users.
jirastrategy.com | 117
Custom Fields
Quick Explanation
Custom Fields – additional fields, in addition to the standard, built-in fields
Attributes:
• Name
• Description
Documentation: jirastrategy.com/link/custom-field
Best Practices
DO
• Limit the number of custom fields. Only create the necessary fields that will be queried and
used by multiple projects. Too many custom fields can affect performance.
• Use a Field Configuration or the Context feature if you need different field descriptions or
values. Don't duplicate custom fields.
DON’T
• Create more than one field with the same name. Even if the field is of a different type, the
names will be confusing for application administrators when creating screens and for end
users during queries.
One company had three custom fields that all meant the same thing which caused
confusion. (Example: “Business Owner,” “Previous Owner,” and “Project Contact.”) One
custom field, or the use of the standard "Reporter" field, should have been used to signify
who owns an issue.
Another company had a 25 character field labeled "Project Owners / Contacts." The slash
and space before and after the slash result in an ugly query.
Important: A large number of Custom Fields creates a slow JIRA application. If the custom field
admin page is slow to load, that's one indication there too many! Read more about sizing
recommendations at: jirastrategy.com/link/sizing-guide and watch this enlightening video about
performance at scale at: jirastrategy.com/link/performance-scale.
jirastrategy.com | 119
Before You Create Custom Fields
RECOMMENDATION
Define what data points you need to report on before creating custom fields. What information
needs to be queried to return a list of issues vs. what information just needs to be visible in a
single issue? Example: You collect a serial number for a piece of equipment. What will you do
with that information? Will you produce a report of all serial numbers in all issues? If so, this is
easiest with a custom field. No report needed? That piece of information can be included in a
standard field instead. Read Atlassian's excellent article on "Field Greatness" here:
jirastrategy.com/link/field-greatness.
Required Fields
There are two ways to require field completion. (1) Make a field required in the project's "Field
Configuration" scheme. This method shows a red asterisk symbol on the Create and Edit screens,
visually showing the requirement. If a field is left blank, a red in-page error displays after form
submission. (2) Make a field required using a “Workflow transition” validation rule. This method
shows a red error on the transition overlay screen. No red asterisk displays next to the field.
The best method depends on the situation. To require a field on the Create screen, use the "Field
Configuration" method. To require a field three steps into your workflow, for example, use the
“Workflow transition” method.
If a required field is not available on a screen, your user sees an error and they can't proceed.
RECOMMENDATION
It may be useful to publish a list of available custom fields and their uses. It may encourage end
users to request existing values, rather than proposing new or similar ones. You can: send
users to the "Show Constants Help" page (at: yourjiraurl.com/secure/ShowConstantsHelp.jspa),
copy and paste a static list from JIRA, query the database, or use the REST API to generate a
quick list of available selections.
• Name
• Description
DO
Show standard fields the user expects to see in all projects. See the "Standard
Capabilities" section for examples.
DON’T
Don’t require fields not present on screens. The users will see errors and won’t be able to
create or transition issues.
At one company, fields were configured poorly with hidden attachments and description
fields. Without the proper fields to collect their information, the users had trouble entering
issues.
jirastrategy.com | 121
Standard and Important Fields
The following fields should always be available, even if not all users will enter data.
Field Notes
Reporter Show and make required. A reporter, or single point of contact, should always
be provided.
NOTE: In newer versions of JIRA, an issue's "Creator" will also be logged. (The
original "Creator" can differ from the current "Reporter." This is common when
reporters change teams, change focus, or leave the company.)
Description Show and make required. A detailed description of the issue should always be
provided at the time of creation.
Components Show. All projects should be able to use this helpful routing and classification
feature.
Priority Show. This helps set the expectation of issue severity, so teams can prioritize
their work (or reset expectations.)
Due Date Show. While projects may use this date differently, having a target date is useful
information. (Example uses: code complete date vs. requested date, etc.)
Attachment Show. All projects should be able to store supporting and additional
documentation.
Linked Issues Show. All projects should be able to link to other related issues.
Time Tracking Show. All projects should have the ability to estimate effort.
Log Work Show. All projects should have the ability to show progress and report actual
effort.
• Name
• Description
Documentation: jirastrategy.com/link/field-config-scheme
Another set up to consider is to put all fields on one screen and use a field configuration to hide any
that shouldn't display for a certain issue type.
jirastrategy.com | 123
Worksheet: New Custom Field Requests
Determine what field requirements to collect from end users based on their knowledge level. If
the questions below are too technical, collect basic information (field name and use, for
example) and the Advisory Board can determine the proper additional parameters.
Questions
1. What is the desired field name? (The text shown to the left of the field.)
4. What is the field type? What type of data will be collected? Example field types: text,
number, date, checkbox, select list, URL, etc.
▪ For a text field, do you need to collect a single or multiple lines of text? For a
checkbox or select list, what are the options? Example: choice 1, choice 2, etc.
6. What screens should the field be shown on? (Create, edit, view, or all?)
TIP
Turn this worksheet into a “Create” screen in your JIRA Support project.
Considerations
• Is the field name (and selection values) generic enough for multiple projects?
• Is the field type logical for the data type? Example: Don't use a text field type to collect a
web address. Instead, use the URL field type.
Choosing between the two is a matter of determining the desired character length. Is the text limit
255 characters or less? If so, the "Text Field (single line)" type is the best choice. For long,
paragraph-type responses, the "Text Field (multi-line)" type is the best choice.
These two field types are misused. The user-interface (UI) rules are the same in JIRA as they are for
any website or online application.
Checkboxes - If the user can choose multiple selections, the checkbox field type is appropriate.
The user can choose neither, one, or several options for one question.
Radio Buttons - If the user must choose only one of multiple, mutually exclusive options, the
radio buttons type is appropriate. The user can only choose one, so use distinct selection labels.
RECOMMENDATION
For all selection-type fields, offer an "other" selection, to cover all potential non-listed responses.
One company used text fields to collect date values. This meant dates were entered in
multiple formats. (Example: Jan 1, Jan 01, January 1st, 1/1, etc.) Without the standard
format built into the date field type, this information was impossible to query for or sort by,
making it less useful.
jirastrategy.com | 125
Special Features
There's an add-on (for both JIRA Cloud and JIRA Server) called the "JIRA Toolkit Plugin" that
provides two very helpful field types called "Message Custom Field (for view)" and "Message Custom
Field (for edit)." These fields allow you to display text or HTML on your issue or workflow transition
screens. They particularity help to provide additional instruction, display a warning, or link to
additional information.
To place a message on a view screen, use the "Message Custom Field (for view)" field type. To place
a message on a create, edit, or transition screen, use the "Message Custom Field (for edit)" field
type.
NOTE
This plugin may already be installed in your JIRA Cloud instance. You may need to enable it.
Use JIRA's "Contexts" feature to change how a custom field is used for projects and issue types.
Remember, no need to create duplicate fields!
For example, let’s say you create a custom single selection field with the following attributes:
If a different project needs a similar field, create a new context for that field. Change the attributes
slightly to fit your needs. For example:
When you use the "Swamp Animals" field in the "Demonstration Project," its field label reads
"Swamp Reptiles" and has its own description and selection values. When you use the "Swamp
Animals" field in any other project, it uses the attributes specified for the original custom field.
jirastrategy.com | 127
Image: One Custom Field with Two Contexts on the "Configure Custom Field" Admin Page
NOTES
• A custom field can only have one context per project. (You can't use multiple contexts in the
same project, even if there are multiple Issue Types.)
• Only want to change a field's description? Do that in the project's Field Configuration
Scheme.
Documentation: jirastrategy.com/link/context
Renderers
Use the "Renderers" feature to affect how text field content displays to the user. There are two
display options. The "Default Text Renderer" displays plain text and the "Wiki Style Renderer"
displays formatted text. Renderers are configured per field, allowing a flexible combination of plain
text and rich text fields.
For the "Description" and "Comment" fields, use the "Wiki Style Renderer." This allows users to
apply text formatting (colors, bold, italics, strike-through, etc.), add elements (bulleted and
numbered lists, images, tables, etc.), and "tag" a user (@username). The usefulness of text
formatting likely outweighs any application performance concerns.
Documentation: jirastrategy.com/link/renderers
Versions
Quick Explanation
Version (also referred to as "Fix Version") – a grouping of issues by date or period of time
Versions are traditionally used to signify issues in a specific software release.
Attributes:
• Name
• Description
• Start Date
• Release Date
Example:
• 1.1.1
Notes:
• The ability to set a Version is coupled with the Resolve permission in a project's Permission
Scheme.
Documentation: jirastrategy.com/link/managing-versions
jirastrategy.com | 129
Best Practices
DO
o Example: If the release is named "1.1.0" in another system, don't name it "1.1" in
JIRA.
o These two values are fundamentally equal but their format differences make them
harder to remember and utilize.
• Ensure version format consistency within a project and across the organization.
o Example: Decide on one naming convention so users can easily predict the next value
DON’T
• Have a complicated format. Users shouldn't need a reference manual to understand the
meaning of the version syntax.
o Example: "1/1/2015 Release." If a release date needs to shift, you should only have
to update the "Release Date" field, not the release "Name."
• Avoid using unnecessary words like "version", "iteration", or "sprint" in version names.
o Example: Use "1.1" instead of "Version 1.1." The word "Version" is redundant.
o Instead, use the "Description" field to distinguish a major release from a minor, point,
or emergency release.
You can use versions to group issues by week name, month name, quarter, or by any other
imaginable category. Use this functionality as a secondary distinguisher (similar to "Components"
but without the automatic assignment ability.)
This may be helpful for less technical users, who'd have trouble querying for issues within a date
range. In contrast, if a project already uses a "Due Date" type of field, that alone creates an
effective grouping. (There may be need for an issue with a "Due Date" to also have date-based
Version.) Consider whether users would benefit from this categorization or if it creates needless data
duplication.
Here's an easy way to further group project issues by category. Note that the Date fields are not
required.
Version Permissions
Only projects of the type "Software" and users in the "jira-software-users" group see the Versions
feature. The ability to set a fix version is coupled with the "Resolve" permission. Remember to
grant the "Resolve" permission for users who set this value.
Gregory Van Den Ham, IT Manager and Leader of the Chicago Atlassian User Group likes to use
versions to specify years. "They show up nicely on boards. Simple, clear, easy to gleam through for
knowledge. As a Manager, I need information quickly - especially when my teams' work is linked to
others and can cause blockers. With this versioning structure, I can quickly understand when work
needs to be scheduled if it’s in the backlog."
jirastrategy.com | 131
Image: Versions as Years (Board View)
Components
Quick Explanation
Components - a project specific distinguisher with auto-assignment capabilities
Example: If Component “X” is selected, assign Issue to user “Y.”
Attributes:
• Name
• Description
• Component Lead
• Default Assignee
Documentation: jirastrategy.com/link/managing-components
RECOMMENDATION
Worried about auto assignment when a user is out of the office? Set the expectation that a
supervisor needs to proactively attend to issues whenever a team member is out.
RECOMMENDATION
The Component assignment routing logic is complex. This article by Mikey Schott
at ServiceRocket helped me understand it and it may help you. Visit:
jirastrategy.com/link/auto-assign
jirastrategy.com | 133
2. Assign Issues by Request Type
Best Practices
• Component options should answer only 1 question.
o Example: Using the selection examples above, the options "Process," "Laptop," and
"United States" should never appear in the same Components list.
• When creating a new project, set one "test" Component in case the field is required in the
Field Configuration Scheme.
• Ask the project lead to create the real Components and manage the list.
• Component names should be short. One word values make for the easiest queries.
Permissions
Quick Explanation
Permission Schemes – a set of project permissions
Attributes:
• Name
• Description
Best Practices
DO
• Let the project-level administrator manage as much as possible in the "Users and roles" area.
Use the Roles to power the Permission Scheme.
jirastrategy.com | 135
• Add groups, distribution lists, or generic users to roles or Permissions Schemes before
individual users.
• If you create groups, you need a plan to keep them up to date. Unmaintained lists quickly
become useless.
• If you use nested groups (available through Crowd-Atlassian's authentication application), use
the highest group possible in roles of Permission Schemes. I recommend you add the parent
group instead of adding all sub-groups individually.
DON’T
o There are certainly exceptions but this quickly becomes hard to maintain.
Furthermore, the project-level administrator cannot manage individual names in the
permission scheme.
• Start with the most transparency possible and add on slowly as needed. Except for a very
small number of projects (e.g. your corporate security team), most projects should be open
to all JIRA users to see and interact with.
• Restrict a project so heavily that users have to contact application administrators to perform
simple operations.
• Duplicate permissions.
o Example: User Mary is part of the "jira-users" group. Specifying a permission for both
Mary and jira-users is redundant.
RECOMMENDATION
Create a group for your application-level administrators and add this group to the
"Administrators" line item in every Permission Scheme. This enables admins to assist with
project requests (settings changes, bulk updates, etc.) without having to first temporarily add
themselves to the Administrator Role for a project.
One application administrator "archived" projects by setting the "browse" permission only to
their username. When this user left the company, so did knowledge that other projects
even existed. These additional projects were coincidentally discovered during a database
examination.
A Permission Scheme is used to control project-level access and abilities to perform certain
standard actions. This is different than controlling access to specific issues in a project.
Standard actions include abilities like "Create Issue," "Assign Issue," "Manage Watchers," etc.
While we try to share settings between projects, it is possible for each JIRA project to have its
own permission settings. A project-level administrator can view their project's "Permissions"
page, in the project's admin section, to see the current setup. However, any permission
changes are made by JIRA application administrators.
Download this wording at: jirastrategy.com/link/scheme-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Answer the following questions to create a permissions strategy that fits your needs.
Question Consideration
1. Is your JIRA application subject • You may need more stringent Permission Scheme
to compliance or industry-specific restrictions than recommended below.
standards?
2. Do you need to keep a legal • Most user actions are automatically logged.
record of actions in JIRA? • View an issue's activity history, the audit log, or the
database for details.
3. Do you need to keep a legal • Restrict the deletion of issues, comments, and
attachments in the Permission Scheme.
record of content in JIRA?
4. Do certain projects need to be • Restrict access of the "Browse" line item in the
Permission Scheme.
hidden from general users?
5. Do certain issues need to be • Consider using issue-level security. See the "Issue
hidden from general users? Security" section for details.
6. Does JIRA store sensitive or • Make sure you have a clear information security
proprietary information? policy. See the "Handle Sensitive Information"
section for details.
• Restrict access to data from external development
tools in the Permission Scheme.
7. Do external users have JIRA • Make sure you're able to segment external users and
access? quickly remove access. See the "External Users"
section.
8. Is JIRA the official time keeping • Restrict the deletion of worklogs.
application?
jirastrategy.com | 137
RECOMMENDATION
For each permission you restrict, consider what risk or problem you're trying to address. Does
JIRA already mitigate the risk (by logging user actions, for example?) Is there a specific
compliance requirement to satisfy? Can the issue be solved with user education instead?
NOTE
This example references a custom role called "Leads." See the "Roles and Groups" section for
details.
Project Permissions
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
Administer Projects • Group (jira- • Add the group "jira-
Ability to administer a administrators) administrators" to every line to
project in JIRA allow the admin group to test
• Project Role
and make requested or needed
(Administrators)
changes.
Browse Projects • Group (jira- • Add your general user group.
Ability to browse projects administrators) (Example: jira-users)
and the issues within
• Role (Users) • Allow users to see that the
them
project and its issues exist. This
ensures the project appears in
the "all projects" list and returns
issues in queries.
View Development Tools • Group (jira- • Permission to view the
Allows users to view administrators) Development tab, which displays
development-related information from external tools
• Role (Users) OR Role
information on the view like Bitbucket, GitHub, Stash,
(Developers)
issue screen, like FishEye, Crucible, Bamboo, etc.
commits, reviews and
build information.
View Workflow • Group (jira- • Expose the diagram so users can
Users with this permission administrators) see where issues are in the
may view a read-only workflow.
• Role (Users)
version of a workflow
Issue Permissions
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
Create Issues • Group (jira- • Allow any user to create an
Ability to create issues administrators) issue. Don't require a user to get
entry help from another user.
• Role (Users)
Edit Issues • Group (jira- • JIRA keeps a history of all
Ability to edit issues administrators) changed data, so there's little
risk in allowing users to make
• Role (Users)
updates.
• If this must be restricted,
consider allowing the reporter to
make updates to their own
issues.
jirastrategy.com | 139
Schedule Issues • Group (jira- • You may want to restrict this
Ability to view or edit an administrators) ability to project leads,
issue's due date developers, or administrators.
• Project Role
(Administrators)
• Project Role
(Developers)
Move Issues • Group (jira- • Encourage users to move
Ability to move issues administrators) misfiled issues or change them to
between projects or a more appropriate issue type.
• Role (Users)
between workflows of the
• JIRA keeps a history of all initial
same project (if and moved issue keys. See
applicable). Note the
the "Database Queries" section
user can only move issues
for more info.
to a project he or she has
the create permission for.
Assign Issues • Group (jira- • If this must be restricted,
Ability to assign issues to administrators) consider allowing the current
other people user to reassign.
• Role (Users)
• If this must be restricted, be
prepared to regularly maintain
the access list.
Assignable User • Group (jira- • Allow issues to be assigned to
Users with this permission administrators) any JIRA user. This is useful if
may be assigned to issues action is needed from someone
• Role (Users)
outside the issue's current
project.
• If this must be restricted, be
prepared to regularly maintain
the access list.
Resolve Issues • Group (jira- • You may want to restrict this
Ability to resolve and administrators) ability to project leads,
reopen issues. This developers, or administrators.
• Project Role
includes the ability to set
(Administrators)
a fix version.
• Project Role (Leads)
• Project Role
(Developers)
Close Issues • Group (jira- • n/a
Ability to close issues. administrators)
Often useful where your
• Role (Users)
developers resolve issues,
and a QA department
closes them.
Modify Reporter • Group (jira- • Allow all users to update the
Ability to modify the administrators) reporter. This is useful when
reporter when creating or reporters change teams, change
• Role (Users)
editing an issue focus, or leave the company.
• JIRA keeps a history of the
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
View Voters and Watchers • Group (jira- • n/a
Ability to view the voters administrators)
and watchers of an issue
• Role (Users)
Manage Watchers • Group (jira- • Allow all users to add/remove
Ability to manage the administrators) anyone else as a watcher. This is
watchers of an issue a useful method of info sharing.
• Role (Users)
• Alternatively, train users to use
the "Share" function.
jirastrategy.com | 141
Comments Permissions
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
Add Comments • Group (jira- • n/a
Ability to comment on administrators)
issues
• Role (Users)
Edit All Comments • Group (jira- • Users many not appreciate others
Ability to edit all administrators) editing their comments.
comments made on
• Project Role • JIRA will visually indicate when a
issues
(Administrators) comment has been edited.
• JIRA keeps a history of comment
changes. The original comment is
available in the issue history.
Edit Own Comments • Group (jira- • Let all users edit
Ability to edit own administrators) their own comments.
comments made on • JIRA will visually indicate when a
• Role (Users)
issues comment has been edited.
Attachments Permissions
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
Create Attachments • Group (jira- • n/a
Users with this permission administrators)
may create attachments
• Role (Users)
Delete All Attachments • Group (jira- • Restrict this permission for legal,
Users with this permission administrators) compliance and auditing
may delete all reasons.
• Project Role
attachments
(Administrators) OR • This ability is useful if the
Leave Blank attacher is unavailable, leaves
the company, etc.
• Train users to delete sparingly.
RECOMMENDED Users /
Permission Notes
Groups / Project Roles
Work On Issues • Group (jira- • Encourage users to track time,
Ability to log work done administrators) even if it's not required.
against an issue. Only
• Role (Users)
useful if Time Tracking is
turned on.
Edit Own Worklogs • Group (jira- • Allow all users to edit their own
Ability to edit own administrators) worklogs.
worklogs made on issues
• Role (Users)
Edit All Worklogs • Group (jira- • Allow supervisors to correct a
Ability to edit all administrators) work record, during a leave of
worklogs made on issues absence, for example.
• Project Role
(Administrators)
• Project Role (Leads)
Delete Own Worklogs • Group (jira- • Allow all users to delete their own
Ability to delete own administrators) worklogs.
worklogs made on issues • Role (Users)
Delete All Worklogs • Group (jira- • Restrict this permission for
Ability to delete all administrators) finance or auditing reasons.
worklogs made on issues
• Project Role
(Administrators) OR
Leave Blank
jirastrategy.com | 143
Worksheet: Read Only Access
Here's a recommended configuration for a "read only" project. This is a project that's still visible
but you can’t create, edit, transition, or work on any issues.
Here's a recommended configuration for a project about to be archived or where work is about to
conclude.
ALL OTHER PERMISSION • Same as defined in the • See the "Normal Access"
LINE ITEMS "Normal Access" worksheet above.
example
Here's a recommended configuration for a project using Fix Versions as a secondary grouping
mechanism. See the "Alternate Uses" section in the "Versions" chapter.
ALL OTHER PERMISSION • Same as defined in the • See the "Normal Access"
LINE ITEMS "Normal Access" worksheet above.
example
RECOMMENDATION
It may be useful to publish a static list of projects that are specially secured. Since end users
can't always see protected projects or review permission settings, documentation can cut down
on the "Why can't I?" questions.
jirastrategy.com | 145
Worksheet: Secured and Protected Projects
Use this worksheet to document any projects that have special restrictions or permissions. Link
the "Project" column value to the project's Summary page and any contact names to the user's
JIRA profile page.
Issue Security
Quick Explanation
Issue Security Schemes – settings to control access at the issue level
Attributes:
• Name
• Description
To restrict access at the project-level, use a Permission Scheme. To restrict access to certain issues
within a project however, use an Issue Security Scheme.
• Set a default security level. Usually all issues viewable by default. To hide all issues, use
a Permission Scheme instead.
• Use Roles or Groups instead of individual user names, so schemes can be shared with other
similar projects.
DO
Don't forget to add users to the "Set Issue Security" line item in the project's permission
scheme. Only named users can apply a security level to an issue (even if they are members
of the specified security level.)
An Issue Security scheme is used to control access to specific issues within a project. This is
different than controlling access to a project as a whole. While we try to share settings
between projects, it is possible for each JIRA project to have its own issue security settings. A
project level administrator can view their project's "Issue Security" page, in the project's admin
section, to see the current set up. However, any security changes are made by JIRA
application administrators.
Download this wording at: jirastrategy.com/link/scheme-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
jirastrategy.com | 147
Worksheet: Soccer Team Hierarchy
Using our soccer example, here's how the team could be reflected in an issue security scheme.
Example: A soccer team has the following roles: a coach, a team captain, players, and fans.
RECOMMENDED
Security Level Users / Groups / Notes
Project Roles
Staff • Project Role • For issues that only team staff should
Coach, Team Doctor, (Administrators) see. Example: A request for an
Referee appointment with the team doctor
• Reporter
Players • Project Role • For issues that team staff and players
Team Captain, (Administrators) can see. Example: A request to move
Athletes Saturday's practice to Sunday
• Project Role
(Leads)
• Reporter
Fans • Project Role (Users) • For issues that any project user can see.
Parents, Community Example: A request to expand the
• Reporter
Members games per season next year
NOTE
Too many Issue Security Levels can impact JIRA performance. Atlassian recommends no more than
10 levels in a scheme.
• Name
• Description
• Notification Settings
Documentation: jirastrategy.com/link/notification-scheme
Best Practices
DO
• Create one scheme per notification strategy, not one per project.
o Example: A “Notify Project Users” scheme or a “Notify Project Users and C-Level
Execs Scheme”
o If you notify users at every possible step, too much email will be generated, users will
filter messages, and ultimately not see them.
• Be mindful of how JIRA email queue impacts the company email server.
o Except for a small subset of projects, most have the same notification needs.
DON’T
• Set unnecessary notifications. Only a small set of projects need custom notification points or
generic event handlers.
o Notifying users at every possible step generates too much email. Users will filter
messages and ultimately not see them.
jirastrategy.com | 149
• Don't "notify reporter on issue create." It creates useless email traffic.
A Notification Scheme is used to control who receives system generated emails at standard
issue events. These events include: "Issue Created," "Issue Updated," "Work Logged," etc.
While we try to share settings between projects, it is possible for each JIRA project to have its
own notification settings. A project level administrator can view their project's "Notifications"
page, in the project's admin section, to see the current set up. However, any notification
changes are made by JIRA application administrators.
Download this wording at: jirastrategy.com/link/scheme-wording. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
The worksheet below includes recommendations for a simple notification scenario. Modify the
worksheet to fit your needs. Since most end users won't be able to see Notification settings, add
this information to your user help files and documentation.
NOTE
This example references a custom role called "Observers." This role might represent your
compliance team, finance team, auditor, or other interested party who's not a regular project
member.
• Reporter
• Reporter
• Project Role (Observers)
Issue Deleted • All Watchers • n/a
• Current Assignee
• Reporter
• Current Assignee
• Reporter
• Project Lead
Work Logged • Project Lead OR Leave • Only useful for projects using time
On Issue Blank tracking functions
Work Started • Project Lead OR Leave
On Issue Blank
Work Stopped • Project Lead OR Leave
On Issue Blank
Issue Worklog • Project Lead OR Leave
Updated Blank
Issue Worklog • Project Lead OR Leave
Deleted Blank
Generic Event • Leave Blank • This is an extra event notification for
workflow transitions.
jirastrategy.com | 151
Download this worksheet at: jirastrategy.com/link/notification-worksheet. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
Documentation: jirastrategy.com/link/custom-event
RECOMMENDATION
Don't forget to set an "Issue Closed" post transition in your workflows to send an "Issue Closed"
notification. Change the default function from "Generic Event" to "Issue Closed."
See also: "Set an "Issue Closed" Post Transition" in the Workflows chapter.
Additionally, you can alert recipients at your own custom notification points. A custom event trigger
alerts users when something specific occurs.
Simple examples:
• Alert the lead developer that an issue is ready for code review.
In the example below, let’s add a custom notification called "Ready for Verification" in three steps.
jirastrategy.com | 153
Image: Workflow Post Function
RECOMMENDATION
Adding roles or groups to the Notification Scheme event is easier to maintain than adding
individual users. Alternatively, create a distribution email address on the mail server. This
allows the list's owner to make membership changes outside of JIRA.
An email address can be used to notify users of a state or event in JIRA. Here are some
questions to guide you through the setup.
▪ Please have an owner set, so we can identify who to contact with issues.
▪ As the owner, make sure you have permissions to add and remove users, so you
can keep your distribution list up to date.
▪ You can ask email team to add members now, or add them yourself later.
5. What type of access is needed (e.g. Read emails, full access, "send as," etc.)?
▪ Example: When can emails older than certain age can be deleted?
• Which issue type(s) in your JIRA project will use this address?
jirastrategy.com | 155
Bulk Change Notifications
The "Bulk Change" feature provides the ability to modify multiple issues at once. For example,
resolve fifty issues in one step. A global permission defines who may use this feature.
RECOMMENDATION
When changing issues in bulk for administrative reasons, uncheck the "Send mail for this
update" option that appears at the very bottom of the "Step 3 of 4: Operation Details" page.
NOTE: This checkbox is only available to users with project-level administrative permissions.
This allows admins to make bulk changes "behind the scenes" without generating excess
notification emails. The change is logged in the database as expected and is visible in an issues
"Activity" area.
Standard Capabilities
Users should have the benefit of all the features and automation JIRA has to offer. Have you ever
tried to work in a project where simple abilities, like adding attachments or labels, are hidden or
unavailable? Have you come across a situation where users have been given a permission they can't
actually use? Example: Users are able to "Assign" however, the assignee field isn't on the edit
screen.
One company had some strange settings. They didn't want abilities like versions,
components, priorities, labels, or attachments. They hide these useful elements in the field
configuration.
Use this worksheet to create your list of "must have" abilities. When creating a new project, double
check that the following useful features are included.
Create Screen
• Description
o Recommendation: Make this a required field in every project. Resist the temptation
to use a different field (like "Notes" or "Details") to collect basic issue creation
information.
o Recommendation: Use the "Wiki Style Renderer which allows users to input rich
text. The usefulness of text formatting likely outweighs any application performance
concerns.
• Component/s
• Priority
• Due Date
o Recommendation: Listing the "Due Date" field after the "Priority" field helps
requestors set realistic speed expectations.
• Linked Issues
• Attachment
• Labels
• Wiki Rendered Description Field (for rich text and @mention tagging)
DON’T
Require a user to submit initial information in multiple steps. (i.e.: Create an issue then edit
it to provide more initial information.) Place all absolutely essential fields on the "Create"
screen. Example: For projects where a screenshot is helpful for troubleshooting, make sure
the "Attachment" field is on the "Create" (as well as the "Edit") screen. Otherwise, you may
never receive that important attachment.
Edit/View Screen
• Assignee
• Reporter
o Since JIRA version 6.2, both a "Creator" and a "Reporter" are logged in the database.
This allows users to create issues on behalf of others and modify the Reporter without
jirastrategy.com | 157
impacting auditing.
• Labels
• Log Work
RECOMMENDATION
Is the field list getting long? Consider adding an "Internal Details" tab to group administrative-
type fields.
• Fix Version
• Epic Link
RECOMMENDATION
Take screenshots of your standard Create and Edit screens. Provide them as choices for new
project requests. Encourage the use of existing screens where possible.
jirastrategy.com | 159
Part 3: Fix and Clean JIRA Up
Few of us are lucky enough to start out with a fresh and clean JIRA installation. Fewer of us will
make no configuration mistakes along the way. If your application is already a mess, there are steps
you can take to clean it up.
In part 3, we'll tackle auditing the configuration you have, removing old and unused elements, and
discuss alternate options.
Audit
Before you begin to make changes, you need to investigate your current configuration. What is your
set up today? Why is it the way it is? Does it support your current needs? After you learn more
about what you have, you can start to plan incremental improvements.
Start by viewing the "System info" page in the JIRA admin area. The projects, issues, custom fields,
workflows, and other stats are tallied there. Also, visit the "Add-ons" admin page and review the
items in the "User-installed" category. Use the worksheet below to record the total counts, so you
can track changes and progress over time.
Download this worksheet at: jirastrategy.com/link/system-stats. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Next, visit the admin area for every scheme and project asset. Examine the admin pages under the
headings: Issue Types, Workflows, Screens, Fields, and Issue Attributes.
RECOMMENDATION
Copy all the info on the page into an Excel spreadsheet, or get the info from a database query.
This will help you to compare and make notations next to each item.
Specifically, look for items that are unused and items that are duplicated.
The admin pages show additional columns containing links to associated elements. If the columns
are blank, the item is not currently in use. In the example below, "Quantity" field is used on the
"Asset Screen," however, the "Total Quantity" field is unused.
jirastrategy.com | 161
Image: Two Similar Custom Fields
On the "Workflows" and "Workflow Schemes" page, also look for items listed in the "Inactive"
category at the bottom of the page.
Duplicated items might share the same name, a similar name, or simply serve the same purpose. In
the screenshot example above, the field named "Total Quantity" is likely a duplicate of "Quantity."
Even if the field isn't an exact duplicate, two similar fields are likely unnecessary.
For now, just note the unused and duplicate elements. Don't delete anything yet! If elements need
further investigation, do that work now and record the results for action later.
After you complete the review, it's time to think about the future state to get to. What are your
goals? What will the clean-up actions accomplish? Here are some examples:
• Support only a handful of workflows, to cut down on administrative overhead, and have a
consistent experience for end users.
• Before you make any changes, you must backup your data and verify the backup.
• For any large or complex changes, you may also want to test in a staging environment first.
• Always be aware of what issues your change may cause and how to un-do your change if
needed.
Now you're ready to start removing unused and duplicate assets. Work slowly, making only small
changes at a time. After major changes, do another backup. Use the sections below to help you
with your clean-up process.
At one company, no clean-up efforts had ever taken place. The application grew organically
and muddier by the day. New customizations were added but none were ever removed.
This created a swampy mess of schemes and settings. To clean up this swamp, the first
step is to survey the schemes and settings and get rid of old and unused items. Delete any
inactive workflows, unused custom fields, or disassociated schemes. Next, examine all
projects to determine which are still active and which have no recent activity. Post
examination revealed 30% of projects could be "archived." Custom notification and
permission schemes for these projects were not needed. The last step was to remove the
defunct incoming mail server settings. Just by removing unused resources, there was a
20% reduction in scheme count and a 30% reduction in database record count.
Unused Elements
By now you have a list of all unused issue types, workflows, screens, fields, statuses, resolutions,
priority, and related schemes. These are the easiest to address, so delete them first. Here's how to
identify them using simple browser tools.
Visit the admin page for each item listed. Use the information in the "identification" column to detect
unused schemes.
Item Identification Deletion Notes
Issue types • Look for issue types only used by the • Before deletion, JIRA
default scheme, which may be labeled displays a usage count.
"Default Issue Type Scheme."
• You may need to migrate
• Query the issue type (Example: type = issues to a different type
bug) to determine its popularity. before deletion is allowed.
Issue type • Use the browser's find command (CTRL-F) • Before deletion, JIRA
schemes to search the page for the string "No advises you which projects
projects." are using the scheme and
that they will be changed to
the default global issue type
scheme.
Workflows • Expand the "Inactive" section at the bottom • Before deletion, JIRA
of the page. displays a generic "are you
sure you want to delete"
o Use the browser's find command confirmation screen
(CTRL-F) to search the page for the
string "Delete." (Only unassociated • Workflow deletions cannot
items can be deleted.) be undone. Consider
exporting the workflow first.
o Alternate: Look for line items with a
blank in the "Assigned Schemes"
column.
jirastrategy.com | 163
o The "Assigned Schemes" column
may point you to unused Workflow
Schemes as well.
Workflow • Expand the "Inactive" section at the bottom • Before deletion, JIRA
schemes of the page. displays a generic "are you
sure you want to delete"
o Use the browser's find command confirmation screen.
(CTRL-F) to search the page for the
string "Delete." (Only unassociated
items can be deleted.)
Duplicate Elements
Sometimes duplicate elements are easy to find; they have the same or similar names. Other times,
two elements have different names but serve the same purpose. If you understand how your
custom elements are used, it is easier to identify duplicates.
In the example below, there are similar fields of the same type.
jirastrategy.com | 165
Now, you need to figure out which of the fields to retain. There are three things to consider:
It's generally easier to retain the most popular field. To determine popularity, query each field (i.e.
quantity is not empty) and count the total results. In this case, let's say "Quantity" is more popular
and also has the better name. "Total Quantity" will be removed.
If there aren't many records using "Total Quantity," you may be able to just remove the field.
However, if you need to retain existing data, copy the values from the "Total Quantity" to the
"Quantity" field. There are a few ways to accomplish this:
• Use the "Copy value from other field" post function from the Suite Utilities for JIRA plugin.
Read more about these plugins in the "Noteworthy Add-ons" section.
• Use the "Copy custom field values" function from the ScriptRunner for JIRA plugin.
• Use the "Copy field value" command from the JIRA Command Line Interface (CLI) plugin.
• Export the issue data, manually change the data, and re-import.
Once you copy the data, update any screens using the "Total Quantity" field to use "Quantity"
instead. Then, delete the "Total Quantity" field.
2. For each resolution, record the popularity (frequency of use) count, which helps you choose
between similar selections.
3. Look for poorly named selections or duplicates that are not widely used.
5. Remove undesired selections with the "Delete" link on the "Resolutions" page.
NOTE
After clicking the "Delete" link, JIRA displays a usage count and will help migrate any issues to a
different resolution. Not all assets have this pre-delete check or migration availability. See the
table in the "Unused Elements" section for more information.
You can also use a filter and a dashboard to gauge resolution popularity. A simple query,
like resolution is not EMPTY and a pie chart shows usage count.
JIRA comes with five pre-loaded Resolution values, but one company had expanded that list
to over 30. Many were duplicates, invalid, unnecessary, or unused.
This same audit activity should be done with Statuses and Priority values as well.
jirastrategy.com | 167
Inactive Projects
Periodically, you should look for stagnant projects. Four common reasons projects sometimes see
little or no use are: the initiative is complete, the system has been decommissioned, company
priorities change, or teams reorganize.
At one company, each company initiative had a JIRA project. After an initiative was
complete, the team moved on to new initiatives, but their JIRA project remained open and
available. As such, users were reporting issues in inactive and unmonitored projects.
Unaddressed issues lingered in these old projects.
• A large percentage of reporters or assignees have left the company or are listed as "inactive."
• The initiative has ended or the related system has been decommissioned.
Use the following worksheet to list all your projects and their attributes, so you can determine which
are inactive.
Download this worksheet at: jirastrategy.com/link/project-status. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
1. To find an inactive Project Lead, look at the lead assignment on a project's "Summary" page
or on any project admin page. Inactive users will show the copy "(Inactive)" after their
name. Additionally, view the "all projects" list and use the browser's find command (CTRL-F)
to search the page for the string "Inactive."
2. Use a JQL statement, like project = project-name, to get a project's total issue count.
3. To find the date of the last updated issue, use a JQL statement like project = project-
name order by updated DESC. The most recently updated issue will be displayed first. You
can also use the database to find this information. See the "Database Queries" section for
details.
Use any of the methods listed in the "Archive" chapter to hide, make read only, or remove access
to the "inactive" projects.
Once you've made projects inactive, you may be able to continue cleaning up by removing additional
schemes and assets.
jirastrategy.com | 169
Wording: Sample Inactive Projects Notification
Use the following sample messaging to communicate upcoming archive activities to your users.
As part of our regular JIRA maintenance activities, we archive projects that appear inactive.
The following projects haven’t been updated since the first half of this year. If you’d like to
keep your project(s) around, please respond to this message. Otherwise, the JIRA Support
team will archive them on [date].
Inactive Employees
Have all former employees been made "inactive"? If yes, great! But that's only one step for dealing
with user data left behind.
TIP
Do not delete a user, as you'll want to keep a history of their actions in the software.
Here is a sample clean-up process to follow when a user leaves the company:
Perform the steps below before you make a user "inactive." You may need to log in as the user to
delete old assets.
The easiest way to uncover user asset is to search the database for their username.
The ScriptRunner plugin can be used to automate some of the steps below. Read more about it in
the "Noteworthy Add-ons" section.
3. Remove unshared custom dashboards, gadgets, filters, filter subscriptions and boards.
Login as the user in a different browser than you are logged in as admin.
5. Move shared (subscribed to, favorited by others) dashboards to the user's supervisor or to a
generic user account.
▪ It's only worthwhile to retain dashboards if they are used by other active users.
o The easiest way to change ownership of shared filters and dashboards is with
the "Change Owner" functions the Admin > System area.
o Alternately, use a copy of the query so a different user can recreate a filter or
dashboard in their own account.
o You could also move highly used filters or dashboards to a generic (persistent)
user account for easy updating in the future.
7. Move shared (subscribed to, favorited by others) filters to the user's supervisor or to a
generic user account.
▪ Change board administrators on the "General" page in the board's "Configure" area.
13. Check workflows for auto assignment transition behaviors. See the detection method in
the "Finding Embedded Workflow Behaviors" section.
jirastrategy.com | 171
Clean-Up Check-up
When you’re wading through mucky JIRA projects during the clean-up phase, you never know what
is lurking underneath. It’s important to check how each clean-up activity impacts other areas of the
application.
MISTAKE
JIRA comes with five link types. (e.g. blocks, clones, duplicates, etc.) At one company the
list of link types grew to 20 different options! To remedy this, I removed unused, outdated,
and duplicate types. JIRA handled the migration, automatically updating any issues
associated with those old types. Subsequently, this changed the “Updated Date” to today's
date for a large amount of old issues. An internal app using the REST API was using the issue
"Updated Date" field to limit the number of issues in its own application. My change caused
an increase in the scope of their queries, the queries timed out, and their app stopped
functioning! In this case, it’s important to know exactly what any apps using the REST API
are doing. That way you can consider them when making global changes.
DO
Always test the impact of any clean-up activities in a test environment first.
• For Mail Servers, use JIRA's "Incoming Mail" admin area to test the connection to any mail
server.
• For Mail Handlers, verify the listed email address is valid. (Send a test message to the
address from your email program.)
o Next, verify the Project and Issue Types for that address still exist.
DO
Archive
While JIRA doesn't have an official archive mechanism, there are a number of ways to "retire"
inactive projects.
▪ Sample notification: "Notice: This project is being decommissioned. New issues can
be reported in the [project name] project instead."
2. In the project's Permission Scheme, remove all users and groups from the "Create Issues"
line item.
See the "No New Issues" worksheet in the "Permissions" chapter for more information.
jirastrategy.com | 173
Option 2: Make the Project Read Only
With this option, you can’t work (update, resolve, etc.) on existing issues. Neither can you create,
add, or remove issues from the project. This option is for when a project needs to stay visible for
documentation or knowledge-share reasons.
▪ Sample notification: "Notice: This project is in "Read Only" mode. Existing issues can
be viewed for historical purposes, but no issues can be created, updated, or worked."
2. In the project's Permission Scheme, change the "Administer Projects" line item to "Group
(jira-administrators)" so application-level admins can still perform actions. (Example:
Reassigning the project to the "Read Only" category.)
▪ Make sure the "Browse Projects" line item contains "Group (jira-users)" (or "jira-core-
users", "jira-software-users") so users can view the project and issue data.
▪ Remove all users and groups from any other line items (especially "Edit Issues" and
"Transition Issues").
3. Create a project category called "Read Only" and assign the project to that category.
See the "Read Only Access" worksheet in the "Permissions" chapter for an example.
▪ In the project's Permission Scheme, remove all groups, roles, and users from the "Browse"
line item.
RECOMMENDATION
For any archived or "hidden" project, add the jira-administrators group to the "Browse" line
item. This way, admins will still know the project exists.
o Sample notification: "Notice: This project is in "Read Only" mode. Existing issues can
be viewed for historical purposes, but no issues can be created, updated, or worked."
• In the project's Permission Scheme, grant the "Administer Projects" permission to the "jira-
administrators" group, grant the "Browse Projects" permission to the "jira-users" group, and
leave all other permission line items blank.
o NOTE: A project name change will break filters and dashboards using queries in the
format: project = project name. Queries referencing a project's key however
(Example: project = project key) will remain functional.
o Search the database to see how many filters will need updates. See the "Database
Queries" section for details.
• Create a project category called "Archived" and assign the project to that category.
• Change the project's icon to a unique image used to signify projects in this state.
jirastrategy.com | 175
Image: Four Project Settings Indicate an Archived Project
RECOMMENDATION
Teach end users to exclude archived projects in their filters with JQL. Ex: assignee =
currentuser() and category != "x Archived"
NOTE
Filters, dashboards, and other reports referencing the project will no longer function. Also, the
export may reference attachments but does not contain the actual attachments. All JIRA
attachments are stored on the JIRA server itself.
Re-importing data can be tricky, especially if you've upgraded since the export. You should do
extensive export and import testing to make sure this method fits your needs in the long term. If
you think you'll ever need to view this data again within JIRA, you may be better off with one of the
previous options. Alternatively, you can set up a second application instance for the sole purpose of
housing the archived data. Of course, you'll need to maintain this additional instance, upgrade it in
tandem with your primary instance, and consider any licensing impacts.
WARNING from Atlassian: "Restoring a project from a backup is not a trivial task. You may be
required to change the configuration of your target JIRA instance to accommodate the project
import. (A backup/export file contains only issue (field value) data - not JIRA or Project
configuration data. Example: Workflows, presence of custom fields, etc.) Additionally, the Project
Import data mapping can be resource intensive on your hardware and may take a long time to
complete. Note: The Project Import tool will lock your instance of JIRA during the actual data
import, so please ensure that your instance does not need to be accessible during this time. We
strongly recommend that you perform a full backup of your target JIRA instance before attempting to
restore a project into it." Read more: jirastrategy.com/link/restore-project
1. Use the "Bulk change" feature to move all "not closed" issues to another project, if desired.
3. Export some or all issues to .xls or .xml format. (For local or alternative backup purposes.)
▪ Recommendation: Use a JQL or database query to get a list of all recent reporters
and assignees in a project. See the "Database Queries" section for details.
RECOMMENDATION
When making the same change to a large number of projects, get a list of project keys from the
database, copy the admin page base URL, and concatenate the two, using Excel, to make new
links. Then, launch all the links directly to the appropriate configuration pages. That avoids a
lot of time-consuming clicks when there are a lot of projects.
jirastrategy.com | 177
Merge Applications or Start Over
You may find yourself in a situation where multiple JIRA applications should merge into one, data
from an existing instance should move to a brand new one, or you need to start over from scratch.
Consider the example company from the introduction who spent many months making
visual and functional customizations. They changed so much that they couldn't upgrade
without wiping out all the custom elements. They concluded the only way to move forward
was to forgo their customizations, stand up a new instance, and migrate their historical
information.
At one company, the Finance department noticed they were paying for two separate JIRA
licenses. One team was using a Cloud instance and another team had a Server instance
running on an old machine under someone's desk. The teams had to decide which
application type would be retained and how to merge the data.
Application Comparison
To determine the best course of action you need to compare the strengths and weaknesses of each
set up. It's also helpful to gauge just how different your set up is to the JIRA default.
2. What are the hardware, software, database, and network abilities of each application?
3. What are the differences between authentication methods and security strategies?
4. How often are upgrades able to be performed and how much downtime can be sustained?
5. Which set up has the most robust application maintenance and user support procedure?
Use the worksheet below to compare the strengths and weaknesses of each set up.
This information is compiled for the purposes of comparing two implementations of the same
application. This data enables informed migration decisions.
Overall
What are the strengths and weaknesses?
Item Considerations App 1 App 2
Strengths What are the best aspects of the set up? What aspects
should be retained?
Weaknesses What are the worst aspects of the set up? What aspects
or data can be excluded?
Application
What are the general stats and overall size? How is the app used? How much of the data is
current vs historical?
Item Considerations App 1 App 2
Application, What are the application details? (Example: Software
Install and/or Core, Cloud or Server.)
Type, Version
Issues How many?
Attachments How many? Where are they stored?
Comments How many?
Projects How many? How many need to be retained?
Workflows How many? How many need to be retained?
Custom Fields How many? How many need to be retained?
Issue Types How many? How many need to be retained?
Statuses How many? How many need to be retained?
Users How many?
Admin Users How many? Is that number appropriate? (i.e. limited)
Groups How many? How many need to be retained?
Plugins How many? Which are vital?
Licensing & Which license tier? What is the annual cost?
Costs
Usage How is JIRA mainly used? (Example: For software
development, customer support, etc.)
Ownership Who owns, administers and maintains the application?
How are change requests and customizations managed?
Authentication
How is access managed? How and where are accounts created? What do general users have
access to?
Item Considerations App 1 App 2
Access How are new users requested? How are new accounts
Requests created?
jirastrategy.com | 179
Credentials Where are credentials stored? How do users receive
them? How are password resets handled?
Security Who receives access? What information to regular users
Strategy have access to? What types of actions?
Hardware & Server
What hardware is powering the app? Is it well maintained? Is it stable? Is it likely to remain in
inventory?
Item Considerations App 1 App 2
Hardware What hardware is powering the app? (Include specs.)
Is it likely to remain in inventory?
Server What server software is powering the app? (Include
Software specs.)
Bandwidth & What is the bandwidth and capacity? Can it adequately
Capacity handle current traffic? Future additional users and
traffic?
Backup How is data backed up? How often? Where is the
backup stored? Who has access to it?
Security How is it secured internally and externally?
Mail What mail server is connected? Can it adequately
manage current notifications? Future additional users
and traffic?
Support Is it well maintained and actively supported? Who's
supporting it? Are there any "behind the scenes"
concerns?
Additional What additional sandbox environments are available?
Environments
Database
What database is powering the app? Is it well maintained? Is it stable?
Item Considerations App 1 App 2
Database What database is powering the app?
Type, Version
Connections What is the bandwidth and capacity? Can it adequately
manage current traffic? Future additional users and
traffic?
Backup How is data backed up? How often? Who has access to
it?
Security How is it secured internally and externally?
Size How large is the data? How much more data can it
accommodate?
Support Is it well maintained and actively supported? Who's
supporting it? Are there any "behind the scenes"
concerns?
Downtime and Is the application stable? What was the cause of the last
downtime event? How frequently is the application
Stability
unavailable?
Archival How is historical data handled?
Automation What procedures are automated?
User Support
How are end users supported? What documentation or training avenues exist? How
knowledgeable is the support team?
Item Considerations App 1 App 2
Support Who supports users? What is the escalation path for
trouble reports?
Experience How high is the support team's knowledge level?
Training Have any training courses or certifications been
completed?
Other
What else is useful to know?
Item Considerations App 1 App 2
Special Policies What additional special policies or procedures exist to
and Procedures support the health of the application?
Hacks and Non- What hacks are in place? Why are they needed?
Standard Uses
Trials and Tests Are any companion applications or plugins being tested?
Download this worksheet at: jirastrategy.com/link/application-comparison. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
jirastrategy.com | 181
Plugin Tracking
You should also compare installed add-ons. Use this template to record and compare those details.
The easiest way to access your plugin data is through the database. See the "Database
Queries" section for an example. Additionally, your plugins are listed in the JIRA administration
area or in your Atlassian account profile. Use this worksheet to record additional information,
track changes over time, or compare plugins between two applications.
Market Last
Created
ID Type Name place Upgrade Cost Version Notes
Date
URL Date
10001 Application SUPPORT-
123
10002 User- SUPPORT-
installed 124
...
Comparison Recommendations
You can make an informed decision once analysis of both applications (or one application vs the JIRA
default) is complete.
RECOMMENDATION
Decide which application is better on a line item basis. At first glance, you may be tempted to
retain the instance with the best hardware or the best database. It's only the "best" if it's
stable, well maintained, and likely to remain in inventory for the long term.
RECOMMENDATION
Carefully consider the big differences between installations. (Example: Cloud vs Server, local vs
delegated authentication, differing versions, etc.) Consider features and connections that must
be retained. Don't retain or migrate old data and configurations you don't need.
Consider who is best equipped to make and execute merge and migration decisions. Keep
emotion or loyalty to one system out of the decision process. The end goal should be to create
the best overall environment and experience for your users.
RECOMMENDATION
Consider how merging data from another system might clutter the cleaner system. Are there
clean up actions to perform on both applications before the merge? Are there changes to make
for an easier migration? (Example: Syncing application versions, or making the list of Statuses
match.)
Take the best aspects of each instance and incorporate them into the new, go forward, set up.
Start Over
You may need to convince your organization that starting over is smarter than fixing your current
application issues. What might you gain by starting over? Think about how much time or money
could be saved. How would administrators and end users benefit? Here are some talking points for
your proposal (pros) as well as challenges (cons) to consider.
jirastrategy.com | 183
CONS
Resistance to change • Users are sometimes resistant to change, even when it's needed
Expert Assistance
Starting over or merging applications is no small task. How you proceed with the data you've
collected and knowledge you've gained through the exercises above depends greatly on the specifics
of your setup and needs. The actual process is challenging and different for everyone. As such, I
can't provide a universal recommendation for how you should do yours. Instead, this is an excellent
opportunity to engage an Atlassian Expert partner. Read more about expert assistance in the
"Atlassian Experts" chapter.
User Communication
Good and early communication is always best. Use the examples below to create a library of
maintenance messages for common scenarios. Afterward, you can quickly post alerts and send vital
information to your user base.
Announcement Banners
The easiest way to communicate with users is through the built-in "Announcement banner"
functionality. Set a banner from the "System" admin menu. Here are some banner examples for
common situations along with some code snippets (for use with the Server application type).
WARNING
Always test your code outside of JIRA and be sure to close all markup tags. If pages render
incorrectly due to code errors, remove the banner code from the database. See the instructions at:
jirastrategy.com/link/remove-banner.
MISTAKE
One day while I was editing an announcement banner, my cat jumped onto my keyboard and
submitted half written code! He’s submitted or edited JIRA issues in the past but his careless
paw placement this day really caused a problem. All the end user and admin pages failed to
render content! I had to stop the application, remove announcement banner records in the
database, and restart JIRA. Luckily, this happened in a development instance where I’m the
only user and the only human inconvenienced. The cat and I have since had a chat about his
work performance.
Planned Maintenance
jirastrategy.com | 185
Emergency Maintenance
<div style="border: 1px solid #000; background-color: #f00; padding: 10px; color: #fff">
JIRA will be down for critical server patching today, [date]. The outage will start at approx
[time] [timezone] and last for approx [number] minutes. During this time, the application
will be unavailable. Thank you for your patience while this important security update is
applied.</div>
Procedure Change
Training
Upgrade
Additional Examples
RECOMMENDATION
Compare your numbers over time by periodically taking a snapshot of your application and
database statistics. You can take a screenshot of the "System Info" page in the admin area or
an export of the counts from your database. Alternatively, you can take a virtual snapshot,
backup a copy, or clone your entire system.
RECOMMENDATION
Install a local version of JIRA that you never modify so you always have a way to compare the
default setup to your own. Alternatively, a version-specific default setup reference is available
at: jirastrategy.com/link/clean-instance . Use the code in the “Worksheets, Templates &
Companion Materials” section to download it for free.
jirastrategy.com | 187
Worksheet: Use and Future Predictions
Use the admin area and database to obtain counts in each statistic area below. Pay particular
attention to your largest database tables. Make a prediction for what type of growth or decrease
to expect. Include any additional information or factors influencing the data. Include
instructions to easily get to the data again (a URL, sample query, etc.) Link any JIRA issues filed
in response to a prediction. Example: Increase limits on attachment storage space.
Re-index
JIRA creates an index of field data to return search results faster. A re-index is recommended after
major data or configuration changes or if the index is corrupt. When you need to re-index, the
following message appears at the top of any JIRA Admin page:
"We recommend that you perform a re-index, as configuration changes were made to 'Custom Fields'
by [username] at [timestamp]. If you have other changes to make, complete them first so that you
don't perform multiple re-indexes."
Re-index Triggers
The following actions trigger the need for a re-index:
• Plugin installation
A re-index can take seconds or hours to complete, depending on the amount of data, server
capabilities, and the method.
jirastrategy.com | 189
Types of Re-indexes
1. Lock JIRA and rebuild index
▪ With this method JIRA will be unavailable to users until the re-index completes. It is
the fastest to complete, however it cannot be canceled once started. This method is
initiated from the JIRA administrative area.
2. Background re-index
▪ With this method, the application remains usable however, the re-index takes longer,
and users are likely to experience a performance impact. This method is also initiated
from the JIRA administrative area.
▪ With this method, only a single project is re-indexed, not the entire database. This
method can be initiated from a project's administrative area.
RECOMMENDATION
RECOMMENDATION
When a re-index is needed, consider using a script to trigger it during the middle of the night.
RECOMMENDATION
Make re-indexing a standard part of your maintenance activities and upgrade plan. See the
"Scheduled Maintenance" and "Upgrade" chapters for more information.
Use this worksheet to identify and document recurring maintenance activities. Select frequencies
that fit your specific needs and availability.
Item Frequency Notes
Upgrade JIRA 2 times a Upgrade JIRA to the latest stable version. See
year the "Upgrade" chapter.
Environment Data 3 times a Copy production data to the testing environment. This
Sync year can be done independently or as part of an upgrade event.
Plugin Quarterly Review new plugin requests. Remove expired or unused
Installs/Removals plugins. See the "Plugin and Add-on Vetting Procedure"
section.
Archival 2 times a Archive projects where issues haven't been created or
year updated in X days. See the "Archive" chapter.
Re-index Monthly Perform a re-index, if needed, to cover all the
configuration changes made during the month. See
the "Re-index" chapter.
Address Log Errors Quarterly Review the application error log and select one issue to
address.
Restart As Needed Restart the application or server when needed.
Admin User Audit Quarterly Review the application admin access list. Compare it
against previous audit lists. Make needed access
changes.
Check Incoming Quarterly Verify mail server connections. Verify mail handlers are
Mail Settings still needed.
Clear Tokens Monthly Clear tokens stored by the "Remember My Login" feature.
Run System Monthly Run the Integrity Checker and Health Check functions.
Checks Address detected issues.
Inactive Users Quarterly Deactivate users who haven't logged into the application
in X months.
Database Admin Quarterly Review the database admin access list. Compare it
User Audit against previous audit lists. Make needed access
changes.
Server Admin User Quarterly Review the server admin access list. Compare it against
Audit previous audit lists. Make needed access changes.
Database Contents 2 times a Review database contents. Look for extraneous data.
Audit year (Example: A table for an uninstalled plugin.) Verify
unexpected tables haven't been added and no malicious
data is stored.
Server Contents 2 times a Review file system contents. Look for files to delete,
Audit year move elsewhere, or skip during backup. Verify
unexpected files haven't been added and no malicious
data is present.
jirastrategy.com | 191
Review Support 2 times a Review, prioritize, and purge backlog items.
Backlog year
Review/Update 2 times a Examine automated test criteria. Look for data or
Automated Tests year application changes to address.
Record Stats 2 times a Compile a new set of application usage data points.
year See the "Application Tracking and Statistics" section.
Compile Annual 1 time a Record team stats and accomplishments. Use the data to
Report year create goals for the coming year.
Create Annual 1 time a Create issues for completion of all maintenance activities
Issues year for the coming year.
RECOMMENDATION
Create an "emergency" JIRA cheat sheet for after-hours support teams. Make sure the
information is easily accessible and prints on a single page.
What is JIRA?
JIRA is commercial software, used for issue tracking and project management.
• Triage issues
JIRA also integrates with other critical applications like: [application list]
JIRA is used primarily by: [list of teams and business groups]. We have approximately [user
count] users.
JIRA [is or is not] a customer facing application. The access URL is [URL].
Scheduled Maintenance
Stability Background
Important Dates
jirastrategy.com | 193
Example:
Date Event Contact
Jan 1 Atlassian License Renewals Name
Jun 1 SSL Expiration Systems Team
Sep 10 Upgrade JIRA Support Team
Jun 30 Atlassian Training Classes Expire (1 class, 2 seats) Name
Upgrade
For most JIRA Server users, an upgrade is a major activity that requires carefully planning. What is
your upgrade plan? How will you prepare? How will you ensure success? How often will you
upgrade?
Use this worksheet to establish a road map and document past upgrade events.
When you upgrade: conduct research, install in a test environment, and test against your real data
set. When all is well, repeat the install and test process in the production environment then
communicate the changes to your users. There are five high level steps:
Step 1 Research
Step 5 Communication
RECOMMENDATION
Document and publish a static list of upgrade plans and activities. This is useful to your admin
team and/or your end users.
jirastrategy.com | 195
WARNING
Do not store the upgrade plan in JIRA, as it will be unavailable for extended times during the
upgrade.
RECOMMENDATION
Create a regression testing issue. Create one Sub-task per test point. Use the "Notes" and
"Testing Hints" as the Sub-task description. Each time regression testing is needed, just clone
the issues.
Here are some high-level tests, covering a broad area, to verify standard functions. Shorten the
list or add your own tests as needed. Don't forget to consider add-on or customization-specific
tests!
jirastrategy.com | 197
Delete any issues created for
testing purposes.
Other How is the system performing Are users reporting performance
under load? issues?
Download this list as an Excel file, which can be imported into JIRA, at:
jirastrategy.com/link/regression-testing. Use the code in the “Worksheets, Templates & Companion
Materials” section to download it for free.
Upgrade Wording
Create standard messages to save time and energy during an upgrade event. This also ensures a
correct and consistent message.
These sample snippets are listed in order of their execution in the Detailed Upgrade Plan
worksheet.
You are receiving this message because of your JIRA REST API or database use. We're
upgrading JIRA and need you to confirm that your integration works in the new version.
Please test your apps against our newly upgraded test environment at: [location]. The login
credentials are: [credential information].
Please also review the API documentation for JIRA version [number].
We need to know:
2. Have and integrations been added or removed since our last upgrade?
Upgrade Preparation
Identifying Resources
We're planning the next JIRA upgrade. Would you please identify a resource to assist on the
Upgrade Team? Add your resource details to the table below:
Thanks in advance,
The JIRA Upgrade Team
This is the final review of the plan for the [date] JIRA upgrade event. Please review prior to the
meeting and bring your questions, concerns, or plan updates.
Conference Instructions:
Please call: [conference line]
Lockdown Window:
From: [date]
To: [date]
Also, please communicate this message to users with existing customization requests.
jirastrategy.com | 199
Upgrade Day Calendar Reminder
The JIRA upgrade to [version] begins [date] at [time]. We expect to complete the upgrade by
[time] that same day.
Conference Instructions:
Please call: [conference info]
Upgrade Contacts:
Resource Resource
Area Needs (Day)
Name Contact Details
Release Manager: Upgrade Preparation (Pre-Upgrade) [name] [phone, email, IM]
Upgrade Tasks (Day of Upgrade) ...
Communication (Post Upgrade)
Upgrade Team: Upgrade Preparation (Pre-Upgrade)
Upgrade Tasks (Day of Upgrade)
Emergency - On Call (Post Upgrade)
Database Team: Emergency - On Call (Post Upgrade)
Systems Team: Emergency - On Call (Upgrade
Window)
NOC Team: Emergency - On Call (Upgrade
Window)
Please join the upgrade conference line for a brief status check.
Conference Instructions:
Please call: [conference info]
Exciting news: a JIRA upgrade is on the way! The upgrade begins [date] at [time] and
concludes before the start of business on [date].
For a list of all the new features and fixes, please see our JIRA Upgrade notes at: [location].
If you have any questions or concerns, please contact the JIRA Upgrade Team at: [email
address].
Thanks,
The JIRA Upgrade Team
RECOMMENDATION
Thank you for your request. We are preparing to upgrade JIRA on [date], and as such, are not
making configuration changes from [start date] to [end date]. This is to ensure
application integrity. We'll address your request after the upgrade is complete and we're sure
JIRA is stable. Thanks for your patience.
RECOMMENDATION
Create a "lockdown" period of a week or more before your upgrade. Defer any configuration or
customization requests until after the upgrade event.
jirastrategy.com | 201
Communication to Support Teams (NOC, Help Desk, Systems, etc.)
• At certain times during the upgrade window, they are blocked from logging in.
o The error message reads "You do not have permission to login." See screenshot
1 below.
o Alternately, a user may also encounter an outage page. See screenshot 2 below.
• Even if a user is able to sneak a quick login, they can expect that any changes made
during the upgrade window will be lost.
• We expect data loss and disconnects from applications that connect through the JIRA
REST API or to the database.
• Finally, any issue creation attempts via email will fail as well.
If you have questions or concerns before or after the event, please contact the JIRA Upgrade
Team at: [email address].
During the upgrade window, you can contact the Release Manager: [name, email, phone, IM]
Thanks,
The JIRA Upgrade Team
Upgrade Status
It is JIRA upgrade day and the conference line is now open! Please join to report progress or
any issues encountered. You can follow upgrade line item completion from the upgrade plan
link below. Additionally, our chat room is open and located at: [location].
Conference Instructions:
Please call: [conference info]
Things are going well with the JIRA upgrade and we're on schedule. As planned, we have a
[time] check-in call to discuss status, findings, and plans for regression testing.
Conference Instructions:
Please call: [conference info]
jirastrategy.com | 203
User Notification
Post Upgrade End User Notice
The JIRA upgrade is complete! All the new features and fixes are in the JIRA Upgrade notes at:
[location]
Please report any problems by filing a JIRA issue or emailing: [email address].
This upgrade was no small feat! Special thanks to the JIRA Upgrade Team and everyone who
made this event possible. Your upgrade team: [names]
Thanks,
The JIRA Upgrade Team
Congratulations on the successful completion of another JIRA upgrade! We appreciate all the
time you spent, planning, testing, and executing this event.
Thanks,
[name]
RECOMMENDATION
Purchase an Atlassian-themed swag item for each upgrade team member as a small token of
appreciation. Visit: swag.atlassian.com
Hope for the best, but plan for the worst. Use the template below to create your emergency
plan. Customize to fit your needs and environment. Here's an example to get you started.
• 4.14 - "Perform
Production Environment
Regression"
What would you do if your primary rollback plan failed? What other emergency restoration methods
are available? Use the worksheet below to record the options.
jirastrategy.com | 205
Worksheet: Alternate Rollback Plan
Option
Type Notes
#
1 Restore the Database from a Have files available and ready to restore the
Previous Dump, Restore Files previous installation, home directories and
from a Previous Snapshot database.
2 Use JIRA's XML Restore Option This method requires write permissions on the
production server.
3 Use XML Export/Re-Import This method requires write permissions on the
Backup production server.
Download these worksheets at: jirastrategy.com/link/rollback-plan. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
The following internal applications use the JIRA REST API or connect to the JIRA database. The
contacts need to be aware of upgrade activities and assist in testing their applications where
needed.
RECOMMENDATION
Group new features by user type (e.g. end users, project administrators, application
administrators, and others). This allows users to skip straight to the info most applicable to
them.
Whenever possible, include a screenshot, from your instance, to visually show how the new
feature looks in the user interface.
Introduction
Great news! On [date] we upgraded JIRA from version [version] to [version]! There are lots of
new features and fixes to improve your JIRA experience. Since our last upgrade, there were
maintenance releases to address bugs, performance, and stability issues. We upgraded many of
our plugins as well. See key features updates below.
User Features
The major new features for all users include:
Resources
Help
Have a question? Need help? Spot a problem?
Report issues in the "JIRA Support" JIRA project or email: [email address].
Additional Reading
Include a link to the upgraded version's release notes.
Include a link to the upgraded version's "What's New" video.
jirastrategy.com | 207
Upgrade Team
This upgrade was no small feat! Special thanks to everyone who made this event possible. Your
upgrade team:
Application Support Team Systems Team Database Team
[insert photo] [insert photo] [insert photo] [insert photo]
Manager of Internal Application Systems Database
Applications Administrator Administrator Administrator
Download this worksheet at: jirastrategy.com/link/jira-features. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Automated Testing
How much time does it take to manually test the upgrade mentioned in the "Standard Regression
Testing" section? How much time does it take to manually execute recurring tasks mentioned in the
"Scheduled Maintenance" section? How many times per year do you perform these tests? It saves
time to automate tests that don't absolutely require a human to perform manually. There are plenty
of free and paid applications to automate web application tests. Start by asking your QA team what
they use for their automation needs. They may even be able to help you get set up with sample test
cases.
Automation Set Up
RECOMMENDATION
Create a specific "automation" user so you can track changes made as part of automated
testing.
In general, give this user the lowest necessary level of permissions. Depending on your testing
needs, this user may need admin privileges or need special permissions to specific applications or
projects. Also allow this user read-only access to the database, or business intelligence data, to run
queries.
RECOMMENDATION
Create a specific "AUTOMATION" JIRA project where all automated tests run. You avoid the
need to "undo" changes to real production data, confuse or spam your users, and manually fix
data for failed or incomplete tests.
In addition to a specific test user and test project, create the following assets:
• Fill the dashboard with a mix of frequently used standard and add-on provided gadgets
A test case for a manual test can be generic, like "Can a new issue be created?" The tester is free to
create any type of issue with any data they choose. A test case for an automated test, however, has
to be very specific. The instruction for the same test case is instead: "Create a new issue in the
AUTOMATION project, of type "Task," with the summary of "Automation Create Test."
Gather your lists of standard regression and scheduled maintenance test cases created in the
sections above.
Step 1: Determine which test cases are suitable for automation and which to manually run.
Step 2: Compile very specific instructions for each test case. Perform the test case manually to see
if you've neglected any necessary data (i.e. a required field.)
Step 3: Determine success criteria for each test. Under what condition does the software know the
test passed?
Step 4: Identify differences between environments. Can a test run the same way in production as
in the test environment?
RECOMMENDATION
For easy automated test maintenance, write test cases that can run the same way in multiple
environments. Use data that's common to both environments and likely to remain available in
the future.
Step 5: Determine the frequency of each test. How often does each test run and when does it
start?
Step 6: Create a final "clean-up" test to remove issues created during the testing process. "Reset"
any updated issues to their original state.
RECOMMENDATION
Don't let the final "clean-up" task run automatically. Manually “sanity” check” the results before
removing all the test data.
jirastrategy.com | 209
Worksheet: Automated Testing
List the standard regression and scheduled maintenance tasks suitable for automation below.
Here's a sample test plan to get you started.
TIP
Add "Review/Update Automated Tests" to your manual maintenance "to do" list!
For additional automation materials, visit the JIRA Strategy Store at: jirastrategy.com/store.
Monitoring
Set up additional software to routinely check the health of your application and database. Monitors
and alerts help the admin team proactively maintain your application. Don't let end users be the
first or only source of trouble reports.
You can leverage monitoring that is likely already set up for other applications. Work with your
system and database administration team to determine the checks and thresholds appropriate for
your organization. Here are some sample checks to get you started.
Checks:
• The monitor user can successfully login (authentication succeeds and account is not locked)
• Active user, inactive user, REST API, and database connection levels are as expected
• etc.
RECOMMENDATION
Ask your monitoring team to set up email alerts anytime an alarm is triggered. Even if you
aren't the person to address the detected problem, at least you can be aware that a problem
exists. Ask for notifications of the initial incident report and the system recovery report.
RECOMMENDATION
Brian Jones, Solutions Architect and Dallas, Texas AUG Leader, mentions that if you already
have Bamboo, you can use it to monitor other Atlassian tools. "Our IT Team takes a few hours
to notify us of an outage, so instead we use Bamboo plans to test up-time every 5 minutes. I
have a simple Perl script that will request the site. If it succeeds, the plan passes. If it fails, the
plan fails and notifies someone."
jirastrategy.com | 211
Worksheet: Monitoring
Use the worksheet below to determine and record your alert points.
JIRA Application
Hostname: [host address]
The [team name] monitors the JIRA application and performs the checks listed below.
The monitoring team contact is [name, phone, email].
The [team name] monitors the JIRA database and performs the checks listed below.
The database team contact is [name, phone, email].
Incident Log
It's important to log incidents to create a reviewable history, detect patterns, and prevent similar
problems from occurring in the future.
RECOMMENDATION
Track the details of any application incidents (good or bad, planned or unplanned, critical or not)
to gain insights into patterns, performance, and stability.
One company had a recurring problem with re-indexing. Each time a re-index was
attempted, it brought the application down. Since there was no central repository for
recording the incident, the problem kept occurring. There was no effort to capture, share,
and learn from the cause of the problem, its frequency, and the steps taken to remedy it.
JIRA shouldn't be your primary storage location for incident details. Downtime will make past details
temporarily unavailable.
Record as many incident details as possible to create a useful historical record. Provide links to
related documentation or trouble reports. Attach any relevant correspondence.
7:00
Date: 01/01/2000 Time: Duration: 10m
PM
Type: Security Severity: Critical Participants: Paul, Application
Administrator
Mary, Systems
Administrator
Title: Server patching caused restart of production server
Details: At noon, we became aware of a critical security patch for the server running
JIRA. [patch number, version] We applied and validated the patch in our test
environment. We scheduled the production change to occur during off-peak
hours, at 7:00 PM EST. This change was approved by the CTO via email.
Resolution: The JIRA server was stopped, the security patch was applied, and the server
was restarted again. The server came up as expected with no errors and
minimal impact to users.
Steps to n/a Root Cause: Out of date server
Diagnose: software.
Steps to n/a Follow-up Actions:
1. Audit operating
Correct:
system versions of all
production servers.
3. Create a standard
maintenance
procedure to regularly
check and update
servers.
Download this worksheet at: jirastrategy.com/link/incident-log. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
jirastrategy.com | 213
Year-End Clean-Up
In addition to the regularly scheduled maintenance admin tasks, project and team leads should
regularly review and maintain their projects as well regularly.
Here are some good questions to ask project leads at end of each year (or even more frequently.)
11. Does the project's configuration still meet the needs of the team?
12. Are there any special features or customizations you wish your project had?
Year-End Analysis
At the end of each year, it's helpful to record JIRA Support team activities and accomplishments.
This simple action can boost team morale, illuminate recurring issues, help predict future needs, and
determine the road map for the coming year.
At the end of each year, compile a report of the support team’s accomplishments. Use this
worksheet to compare actions over time and set goals for the coming year.
The Atlassian products we use at [company name] include: [list of products]. Support for these
applications is tracked in the JIRA Support project.
The team completed [total completed] ([percent]%) of [total reported] issues created in [year].
At present, [total] are awaiting triage, [total] are awaiting initial progress, and [total] are being
actively worked. [total] are in the backlog.
Include an Issue Statistics chart, showing the count of issues reported above.
Example: This year we added a new team member and were able to complete 50% more
requests than in the year before.
jirastrategy.com | 215
Issue Statistics
Chart Area
[insert Issue Types
chart] We use "Issue Types" to track the type of request.
Our largest type is [type name]. This type is used for [use] and represents
[percent]% of requests.
Example: The general "Task" type represents our largest type (61%.) Since this is
our general "catch all" bucket, users often select it even when a more specific type
is appropriate.
Our second largest type is [type name]. This type is used for [use] and
represents [percent]% of requests.
Example: Better classification of requests filed in the general "Task" type is a user
training and team admin improvement opportunity.
[insert Components
chart] We use "Components" to track the type of support for the request.
Our largest component is [type name]. It is used for [use] and represents
[percent]% of requests.
Example: 40% are "Helpdesk" requests which include user access, password reset,
or troubleshooting types of tasks.
Our second largest component is [type name]. It is used for [use] and represents
[percent]% of requests.
Example: "Thank you all for completing the recent JIRA upgrade! My team is so excited to use
216 | JIRA Strategy Admin Workbook
the new Releases feature to see the health of our current sprint. - James Smith, Development
Manager, January 2, 2016
If available, provide team performance metrics, like overall time to resolution. If appropriate,
provide individual performance metrics, like items resolved per team member.
Example: Our top performer was [name] who completed 36% of requests and received the most
praise from end users.
Top Accomplishments
Include 3-5 completed initiatives, things the team did particularly well, or milestones reached in
the current year.
Example: We executed a plan to detect and archive inactive projects. This resulted in a 20%
reduction in scheme count and a 32% reduction in database size.
Example: The JIRA Support team needs to establish team goals, regularly review progress, and
start using JIRA Service Desk to better track SLAs.
Roadmap
Example:
Completion Target Project, Goal
January Upgrade JIRA
February Deliver JIRA Training for New Employees
All Year Continued Standard Maintenance Activities
See the "Scheduled Maintenance" section.
All Year Continued Support of Daily User Requests
Queries and Sources
Include the JQL or database queries used to compile the above information. Include links to
dashboards or supporting resources.
Download this worksheet at: jirastrategy.com/link/annual-report. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
jirastrategy.com | 217
Part 5: Customization
Part 5 shows ways to customize JIRA so it functions exactly as you need it to. In this section, let’s:
• Set up a plugin selection process so you can make smart decisions about additional features
to install
Best Practices
DO
• Communicate the request process, testing procedure, and other expectations to the
requestor. See the "Plugin and Add-on Vetting Procedure" section. Verify add-on funding
is obtainable or available before installing and testing.
• Check for items left behind after an add-on is uninstalled. Example: Custom fields or
database tables.
• Consider the impact a new add-on has on your maintenance and upgrade procedures.
• Record the add-on request (and vetting results) as you would for any other application
change request.
• Install more than one add-on at one time, or make major configuration changes before plugin
testing is complete. This makes it hard to isolate the cause of any issues encountered.
Daniel Wester, Chief Product Architect at Wittified Atlassian Add-Ons (an Appfire Company), shares
"as you evaluate add-ons, make sure to review the entire Marketplace entry. Look at the licensing
agreement and the support hours. If there is an issue tracker look through it for activity as well as
general maintenance items. Even if you're comparing a free add-on versus a paid add-on the free
one can become expensive if it's not supported."
Post this procedure so end users understand the request process and are prepared to assist with
testing.
Would you like to install an add-on or plugin? Here's an outline of the request procedure.
ID Procedure Responsibility
Step 1 Request a test of the add-on. File an issue in the JIRA • Requestor
Support project. In the issue description, tell us:
jirastrategy.com | 219
Plugin Installations
Did a user request an add-on installation? The initial step is researching the add-on and answering
the following questions.
Plugin Research
You can begin your research by asking the following questions. Enlist the help of the requestor
where possible.
▪ Does JIRA already have a standard mechanism (or already installed add-on) to
accommodate the requested feature(s)?
▪ Do the favorable reviews appear legitimate? Are they written by users, or by the
plugin authors?
8. Who can help test the plugin? Include the requestor, end users, and application admin users.
9. Does enough (and the right kind of data) exist in the test environment to test the add-on?
RECOMMENDATION
Installation Testing
DO
Install and test all add-ons in a test environment first. After installation, explore the following:
1. How does this installation fit into the application upgrade and maintenance schedule?
6. How did the add-on impact performance? Specifically check UI load times, especially for large
instances.
If a plugin offers a trail installation then give it a shot. Make sure you run your tests in a test
environment. Keep in mind that trial installations require special attention especially because a
date-based deadline exists. In some cases, vendors and Atlassian experts can extend the life of the
free trial to allow for further testing. Make note of the following:
jirastrategy.com | 221
Uninstall Plugins
Once the free trial or your testing is complete, whichever comes first, remember to uninstall plugins
you have no intent to purchase. This frees up system resources and use of assets (e.g. add-on
specific data storage, logging, custom fields, etc.)
• Malfunctioning
• Unmaintained
• No longer used
• No longer funded
RECOMMENDATION
Before uninstalling an add-on, check for data archival or backup opportunities. After, identify
which assets to manually delete or change. E.g. add-on specific data storage, logging, custom
fields, etc.
RECOMMENDATION
Always check whether add-on features already exist as a standard application function.
Use this worksheet to announce a production install. Communicate what the new add-on does,
how to use it, and how to get additional help.
[short introduction] In a couple sentences, what does the add-on do? Who can use it? When
was it installed? Who are the testers? What is the procedure for requesting other new add-ons?
[screenshot]: Add one screenshot that encompasses the capabilities of the add-on or the easiest
way for users to access the features.
[screenshots and examples of the add-on in action] How is the add-on used?
[known caveats or bugs uncovered during vetting] Link to existing bug reports so users can
follow fix progress.
Resources
• Documentation: [URL]
[links to internal resources] Where can internal help be obtained? Repeat the procedure for
requesting new add-ons.
jirastrategy.com | 223
Noteworthy Add-ons
Here's a collection of loved add-ons to make your job easier.
RECOMMENDATION
Eric Lemay, JIRA Administrator and Montreal, Canada AUG Leader says: "ScriptRunner for JIRA
opens doors! When I started I couldn't program anything, but with practice, I discovered that I
can automate ANYTHING with this plugin! Also the user impersonation feature is an invaluable
tool for testing configuration changes from the end user standpoint."
Bob Swift Software (an Appfire company) crafted an impressive suite of add-ons for JIRA and
other Atlassian applications. I haven’t met one I didn't like or see a need for. Got a problem?
There's probably a Bob Swift add-on to solve it. I specifically like:
Recommendation: Brian Jones, Solutions Architect and Dallas, Texas AUG Leader
says: "The JIRA CLI tool is the best thing ever! Whether it’s for scripting routine tasks
or importing data, it’s a great tool from Bob Swift."
I simply cannot live without the validators and post functions this amazing plugin provides.
From requiring a comment, to dynamic issue assignment, to auto transitioning other issues -
this plugin has it all. See sample uses in the following sections: Sample Workflow: JIRA
Support, Sample Workflow: Asset Management, Standard Validators, Additional
Validators, Auto Transition Parent Issue, Prevent Child Issues, and Prevent Child Issue
Progress.
This plugin is a great time saver for performing repetitive tasks. Create multiple sub-tasks in
bulk with one action from a template in your user profile, a template in a JIRA project, or a
text file on your computer.
This plugin was used as an example of the Plugin and Add-on Vetting Procedure. Download a
review at: jirastrategy.com/link/quick-subtasks-for-jira. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
I especially love the "Message Custom Field" feature. It's a great way to provide users with
instructions on a create, edit, or transition screen. See sample uses in the following
sections: Sample JIRA Support Project Set Up, Message Custom Field, Add User Instruction,
and Add User Instruction Based on Issue ID.
This plugin lets you do more with workflows. I specifically like the ability to update custom
fields during a workflow transition. See sample uses in the following sections: Sample
Workflow: JIRA Support, Sample Workflow: Approval, Additional Conditions, Additional
Validators, Additional Post Functions, and Duplicate Elements.
TIP
Some plugins come pre-installed in Cloud environments. You may need to enable them from your
"Manage add-ons" admin page.
jirastrategy.com | 225
Extend JIRA
As if JIRA wasn’t robust enough, there are additional ways to extend its functionality. For example,
you can use built-in features to intercept data from email or a web form, connect JIRA with other
applications, and use integration or marketplace (marketplace.atlassian.com) add-ons. Additionally,
you can write your own code or full application. There are endless ways to get data into, out of, or
in sync with JIRA. Here are a few:
• To report JIRA access issues. For example, if a user can't login, they may
not be able to raise a JIRA issue.
Benefits: • Subsequent email messages append as comments
• The email subject becomes the issue's "Summary" and the email body
becomes the "Description"
Requirements: • Access to JIRA’s Admin UI
Thanks,
Rachel Wright
The “Issue Creation via Email” feature is simplistic. You cannot populate custom fields (including
required fields), pass a default summary, or set a specific assignee. It's a quick way to get data into
JIRA but not a substitute for the feature-rich issue create action.
You can create JIRA issues via email! Here are the steps.
3. Configure the address with a password that doesn't expire. Otherwise, JIRA auto-
creation breaks at each password reset interval.
4. Get the mail server's host name, as well as the addresses' username and password from
the email team.
▪ What type of access is needed? Example: read emails, full access, "send as,"
etc.
7. What is the retention policy? Example: When can emails older than certain age be
deleted?
1. Create a JIRA Support issue with the email address from Step 1.
2. Call [phone number] to provide the username and password. For security reasons, don't
enter the password into the JIRA issue!
4. What issue type should be created? (Choose a type currently used in the specified JIRA
project.)
5. What is the mail server's host name? (See item #4 in Step 1.)
jirastrategy.com | 227
6. Who is the default reporter for new issues? (This can be any existing JIRA user.)
Documentation: jirastrategy.com/link/create-by-email
Atlassian uses JIRA to track interest in their User Group leader positions. Each submission from the
form on their website automatically creates a new JIRA issue.
• The code provided includes the URL of your JIRA application and a unique number identifying
the specific issue collector.
Sample Code:
<script type="text/javascript"
src="https://[JIRA URL]/s/d41d8cd98f00b204e9800998ecf8427e/en_US7gux2l-
1988229788/6158/35/1.4.1/_/download/batch/com.atlassian.jira.collector.plugin.jira-
issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-
issue-collector-plugin:issuecollector.js?collectorId=[collector ID]"></script>
b. Request entry of a name and email address. If the reporter is a logged in JIRA user, they will
be automatically recognized.
c. Collect the user’s browser details and URL where the feedback was created. (optional)
Method 3: Use easy “HTML links” to ease the issue creation process
jirastrategy.com | 229
Sample Use:
• In the Issue Types Admin area, hover over the “Edit” link to see the type's ID in the
browser’s status bar.
• In the Custom Fields Admin area, hover over the “Edit” link to see the field's ID in the
browser’s status bar.
TIP
You can easily obtain all project, issue type, and custom field IDs from the database.
o Complex Format:
<a href="https://[JIRA URL]/secure/CreateIssueDetails!init.jspa?pid=[project ID]&
issuetype=[issue ID]&summary=[issue summary]&description=[issue description]&
components=[component ID]&customfield_10010=[field value]">[link text]</a>
Practical Example:
Create a simple "service desk" using a JIRA dashboard. Help users get to the correct create form
without having to select the proper project or issue type.
TIPS
• Improve the display with a unique icon for each form link. Store images or icons as
attachments in a JIRA issue. In the storage issue, right click the attachment to get the
URL to paste into your code. You can also store images on the JIRA server or another
online application.
• Add HTML links to the JIRA default system dashboard, Confluence, or your company’s
intranet.
RECOMMENDATION
Grab the direct URLs to the most commonly used create forms. (The URL must include
the project ID and the issue type ID.) Place the links in a nicely formatted HTML block in
the default system dashboard or another place users visit for help. Help users get to the
correct create form without having to select the proper project or issue type. This is
especially useful if there are many projects or similar projects. (Example: The Computer
Help Desk project vs JIRA Support project.)
Documentation: jirastrategy.com/link/direct-links
NOTE
Required fields will show "info missing" errors on the create screen. Most users are likely to enter
the needed information and complete the form as usual.
Download this code sample at: jirastrategy.com/link/html-links. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
jirastrategy.com | 231
Create Custom Displays
Method: Build a custom page, connected to JIRA through the REST API
Objective: Create a custom web page, on or off the JIRA server, which displays real time
JIRA data.
Use Cases: • A custom display to suit your needs
Sample Use:
Special Features:
• Uses standard JIRA UI and authentication
• The custom page parses the data and displays custom results
Cons:
• Maintenance of an additional element
Method: Build a custom application, connected to JIRA through the REST API
• Update info in a different application and push it to JIRA (or vice versa)
o Example: Link unique record IDs between two systems.
o Example: Keep an initiatives status in sync between two systems.
• Sync authentication timeouts. When access times out in JIRA, it also times
out in the application.
• Mirror issue IDs between applications, i.e. ISSUE-123 refers the same record
in both applications.
• Push changes to JIRA as a specific user (or as a generic REST API user)
depending on your needs. JIRA tracks the username and time stamp of the
change.
• Limit the application to specific JIRA Projects, Issue Types, Statuses, etc.
o Which project issues can the application update?
o What shouldn't the application be allowed to do?
▪ Example: If an issue is in the "Closed" status, block the
application from updating it and log an error.
Cons: • Developing and maintaining an additional application and/or database
jirastrategy.com | 233
NOTE
You can push field data to JIRA from an external application, but the fields have to be present on the
Edit screen(s). Restrict user editing of these fields using the behavior aspects of the ScriptRunner
for JIRA add-on. Read more about it in the "Noteworthy Add-ons" section.
NOTE
RECOMMENDATION
To avoid creating a swamp of your own, you should thoroughly test any type of "hack" before
implementing it. Use a test environment and consider the resulting performance, maintenance,
or upgrade impacts. Work with your web development team to craft the best and most efficient
code for your needs. Always close any markup or scripting tags.
Use Case: To make a site-wide announcement really stand out. This formatted markup is
useful for unplanned maintenance and to quickly get a user's attention.
Implementation: Add a message across the top of all pages using the "Announcement banner"
function in the admin area. The banner can accommodate plan text, JIRA's own
wiki markup, HTML, CSS, and JavaScript.
Sample Code:
<div style="border: 1px solid #000; background-color: #80207d;
padding: 10px;"><h3 style="color: #ffffff;">
This is the JIRA test instance!</h3></div><br />
• The code example above visually distinguishes between the production and
test instances. Instead of a message, you could change the logo, site title,
and/or site colors using the "Look and feel" settings.
Sample Use:
jirastrategy.com | 235
(NOTE: In the screenshot below, the navigation bar and message copy are purple.)
WARNING
Always test your code outside of JIRA and close all markup tags. If code errors cause pages to
render incorrectly, you have to remove the banner code from the database. See:
jirastrategy.com/link/remove-banner
Use Case: Only show the announcement banner for certain projects and issues. This is
useful to alert a sub-set of users to changes in their specific project.
Implementation: Add a message across the top of all pages using the "Announcement banner"
function in the admin area. Use code to limit where the message is displayed.
Sample Code:
1. <style>
2. #copy {border: 1px solid #000; background-
color: #ccf0ff; padding: 10px;}
3. </style>
4.
5. <div id="message"></div>
6.
7. <script>
8. AJS.toInit(function(){
9. setTimeout(function(){
10. if(window.location.href.indexOf('[project key 1]') > -1) {
11. document.getElementById("message").innerHTML =
"<div id='copy'>This project's workflow will be updated on Monday.
<a href=\"[link target]\" target=\"_blank\">Read more</a></div>";
12. } else if(window.location.href.indexOf('[project key 2]') > -
1) {
13. document.getElementById("message").innerHTML =
"<div id='copy'>Training for this project will be held on Tuesday.</div>";
14. }
15. }, 500);
16. });
17. </script>
Notes: Escape quotes in the message copy, as shown in the example above.
Alternative: Put a project-specific message on a project's "Summary" page.
Download this code sample at: jirastrategy.com/link/conditional-banner. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
Notes: This does not alter to the standard built-in "Priority" select list.
Alternative: Make the field required in the field configuration.
Sample Use:
jirastrategy.com | 237
Download this code sample at: jirastrategy.com/link/select-list. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Alternative: • Use the field behavior aspects of the ScriptRunner for JIRA add-on.
Read more about it in the "Noteworthy Add-ons" section.
• Put the field on the Create and View screens only, and not the Edit screen.
A user can enter an initial value during issue create action, but cannot edit
the value later.
Requirements: The JIRA Toolkit Plugin. Read more about it in the "Noteworthy Add-ons"
section.
Use Case: Provide instructions or links to additional documentation.
Implementation: Create a custom field of type "Message Custom Field (for edit)." See more
in the "Message Custom Field" section of the "Custom Fields" chapter.
Sample Code:
<div style="border: 1px solid #000; background-
color: #ccf0ff; padding: 10px; margin: 10px;">
Please see the <a href="[link target]" target="_blank">
Request a New JIRA Project</a> documentation.</div>
Requirements: JIRA Toolkit Plugin. Read more about it in the "Noteworthy Add-ons"
section.
Use Case: Instruct a user to file a new issue to report a detected problem. (Instead of
reporting it in an existing issue, trying to reopen an issue, etc.)
Implementation: Create a custom field of type "Message Custom Field (for edit)." See more
in the "Message Custom Field" section of the "Custom Fields" chapter.
Sample Code:
1. <div style="border: solid 1px #cccc00; background-color: #ffffb2;
padding: 5px; width: 750px; margin-left: auto; margin-right: auto;
font-size: 9pt;">
2. <span style="font-size: 14px; font-family: arial; font-weight: bold;">
Wait!</span><br />
3. You've indicated a problem with the implementation of
<span id="message"></span>.<br /><br />
4. <script>
5. // get issue's URL path
6. var path = window.location.pathname;
7. // remove directories from path
8. var ticketID = path.replace("/browse/", "");
9. document.getElementById("message").innerHTML = ticketID;
10. </script>
11. Please log this additional problem as a <b>new Bug</b> in the
<a href="[create form URL]" target="_blank"><b>[project name]</b></a>
JIRA project.<br />
12. </div><br />
Note Read more about obtaining a create form's URL in the "Get Data into JIRA"
section.
Alternative Solve problems through user education. Example: Report bugs or
deficiencies as new issues.
Sample Use:
Download this code sample at: jirastrategy.com/link/issue-instruction. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
jirastrategy.com | 239
Other Uses for JIRA
In addition to its usefulness as a project management and issue tracking tool, JIRA can be used in
multiple other business and personal capacities. Some creative uses include:
JIRA as a CRM
The Atlassian User Group is where users meet locally to share best practices. The program
itself is well supported and managed, but the program data was stored in multiple
applications. The Atlassian Community Team realized they need to:
• Map user group leaders to their city associate leaders to their city group
The team was already using JIRA to fulfill support requests, so we extended it to track groups and
leaders as well. We created a new project with the following configuration:
Name: City
Type: Epic
Screenshot Details
Workflow Name: City
Narrative: On creation, an issue is in the "Open / Untriaged" status. A user clicks the "Make
Active" transition button to move to the "Active" status. Alternatively, a user clicks the "Make
Inactive" transition button to move to the "Inactive" status. A user can move between any of the
three statuses at any time.
• Open: The new group is formed but their first event did not occur yet.
• Active: The date of the group’s first event occurs and team records its date is in the issue.
• Inactive: A group no longer has events or no active leader is in place. The group can be
"active" again at any time.
jirastrategy.com | 241
Fields
Name Description Notes
Summary Location (In A consistent Summary format helps with search and sorting.
the format:
"Austin" or
area names
like "Northern
Virginia")
Epic Name Location (In A duplication of the above field used to associate leaders to cities
the format:
"Austin" or
"Ashburn")
Description n/a A place to store notes about the group
Map In the format: Used to create a dynamic map of city locations. (Needs to be a
Location "Austin, useable value in Google Maps.)
Texas",
"Austin, TX",
or "Austin, TX
78701"
Region Area of the Example: Americas, APAC, Australia, EMEA
world
Time Zone Select from List of values: jirastrategy.com/link/time-zones
the list
Distro City Example: northern_virginia@atlassianusergroup.com
distribution list
email address
Joined Date of group Use to track time between formation and first event and overall
formation age of the group
Narrative: On creation, an issue is in the "Open / Untriaged" status. A user clicks the "Start
Onboarding" transition button to move to the "Onboarding" status. Alternatively, a user can click
"Make Inactive" to move to the "Inactive" status. After onboarding, a user clicks the "Done
Onboarding" transition button to move to the "Active" status. An issue can remain in "Active" status
indefinitely. Alternatively, a user clicks the "Make Inactive" transition button to move to the
"Inactive" status. An issue in "Active" or "Inactive" status can move back to the "Open / Untriaged"
status at any time.
o The Atlassian Community Team sends a welcome email and records the send date in
the issue.
o Example: Email account creation, email distribution list creation, granting access to
tools
o The Atlassian Community Team sends access information and records the send date in
the issue.
• Active: A leader is fully on board and has scheduled their first event.
• Inactive: A leader no longer hosts events or has left the program. A leader can be "active"
again at any time.
jirastrategy.com | 243
Image: Sample Leader Record
Fields
Name Description Notes
Summary Leader Name (In the format: "First Last") A consistent Summary format helps
with search and sorting.
Description n/a A place to store additional notes
about the leader. (Example: Is a
certified JIRA administrator. Likes
cats.)
City Select from the list Auto populated from the "City" issue
type
Company n/a n/a
Company Select list of ranges (Example: 1-100) Selections: 1-99, 100-499, 500-
Size 999, 1000-4999, 5000-
9999, 10000+
Role Role or job title n/a
Address Mailing address n/a
Email In the format: The internal, primary, user group
first.last@atlassianusergroup.com contact address
External In the format: email@domain.com An external, secondary, non-user
Email group contact address
Phone n/a Primary phone number
Asset Tracking
Have you ever had to file an insurance claim? Chances are your insurance company requires asset
documentation. Questions like "When did you buy this?", "How much did it cost?", and "What is the
current condition?" are hard to answer if you don’t keep records. Why not use JIRA to track your
assets, their current location, etc.?
The example below shows the record for the computer I'm using to write this book! I list the name
of my computer as the "Summary," the importance of the asset as the "Priority," the computer’s
location as the "Component," and the purchase date as the "Due Date." In the "Description" field, I
list all specs for the computer, and in the "Attachments" area I include the purchase receipt and a
photo of the item. I added a few custom fields to track the purchase price, condition, quantity, and
even who gets this asset after I die. (Yes, it's a little morbid, but it's simply smart estate planning.)
I can refer to these assets by ID in my will. And if I ever need to provide documentation to my
insurance company, the data is compiled immediately by a simple JIRA query and export.
jirastrategy.com | 245
Image: Sample Asset Record
You can easily leverage this example for more complex business use cases. Why not track your
company assets, from initial request, through purchase and use, all the way through disposal?
Moving Labels
Last time I moved, I used JIRA to track my boxes and their contents. First, I created a "BOX"
project in JIRA. Then I set my Dymo label maker to print labels in the format: BOX-1 through BOX-
50. When I filled a box, I put a label on it, created the corresponding JIRA record, and entered the
contents in the "Description" field. With a simple query, I know that my winter hiking boots are in
BOX-1 with other cold weather gear and that the box is currently in storage. If a box got lost during
the move, I'd know what was in it.
Bucket Lists
Like many of you, I have a list of things I want to accomplish in my life (i.e. My "Bucket List.") I also
love to travel and take frequent trips. I use JIRA to track my life's "to do" list, check off items as I
complete them, and record the details of all my trips. This allows me to answer questions like "What
was the name of restaurant in Rome where we ate Cacio e Pepe?", "How many times have I been to
California?”, and "What list item should I tackle next?"
I use dashboards to track my bucket list progress. One of my desires is to visit all states and
territories in the United States. In the dashboard example below, there are 25 US states or
territories in the "To Do" status, meaning I have yet to visit them. The "In Progress" status shows
I've visited 20 states, but there's still something I want to see there before I close that record.
There are 11 states in the "Done" status, meaning I don't have plans to visit that state again. Of
course each state record contains all my trip details like, the travel dates, who I traveled with, and
the places I specifically visited. This comes in handy when someone asks me for sightseeing
recommendations! (I'd never be able to remember all these details on my own.) For example, if
you visit Buenos Aires, you must eat grilled proveletta at Cabana Las Lilas. If you go to Samana, in
the Dominican Republic, you must visit the El Limon Waterfall. You'll travel by mule, swim in a cave
behind the falls, and get to sample the best coffee you’ll ever have anywhere in the world.
jirastrategy.com | 247
Personal Goals
According to Dr. David Kohl, economist and professor emeritus, at Virginia Polytechnic Institute and
State University, people who regularly write down their goals earn nine times more over their
lifetime as those who don't. He says 80% of people in the United States don't have goals, 16% have
goals but don't write them down, less than 4% write down their goals, and fewer than 1% review
them on an ongoing basis. Guess which group I'm in? I write my goals in JIRA each year and track
completion progress. Do I complete all goals each year? Nope! But, at least I have a target.
Other Ideas
• Event Planning - Use JIRA to track your wedding task list, home remodeling project, or book
launch activities.
o Atlassian employee, Sarah Goff-Dupont, tracks her wine collection in JIRA to make
sure no bottle is forgotten. Read: jirastrategy.com/link/sommelier
o Systems Administrator, Zack Seibert, similarly manages his craft beer collection.
Read: jirastrategy.com/link/craft-beer
• Home Automation - Atlassian Expert Partner, Praecipio Consulting, created a way to toast
bread and also pour beer with JIRA! See: jirastrategy.com/link/toaster and
jirastrategy.com/link/serve-beer.
RECOMMENDATION
Next time your organization plans to buy yet another tracking application, consider JIRA instead.
Create a quick proof of concept in your test environment. You'll be the hero, saving your
company thousands in additional expenses.
jirastrategy.com | 249
Part 6: Bonuses
Part 6 contains extra information to help you propel your strategy skills and make your life a bit
easier as a JIRA professional and fanatic. Use this additional section to:
Training Users
RECOMMENDATION
Initially, provide just the basic amount of training an end user needs right now. Save all the in-
depth and "cool things you can do" information for a subsequent training session.
Create a brief introductory training presentation that answers the following questions:
1. What is JIRA?
▪ What is an issue?
▪ What is a project?
▪ Are there any commonly confused projects? (Example: Computer Help Desk project
vs JIRA Support project)
For additional user training materials, visit the JIRA Strategy Store at: jirastrategy.com/store
As a training aid, I created a page with examples (or links to existing documentation) of topics end
users frequently ask.
RECOMMENDATION
Keep a list of common user questions. Use them to create a FAQ document containing links to
self-help information on each topic.
jirastrategy.com | 251
End users are commonly interested in the following topics:
9. Exporting data
RECOMMENDATION
Choose a well configured and maintained project to serve as a model for other teams. Post
screenshots that show how the project is set up and how the team uses it to manage their work.
Post links or screenshots of well build dashboards and boards, to give users an idea of the
possibilities.
RECOMMENDATION
Train users how to use standard features rather than making customizations or building new
logic.
Use the "New Features" documentation in the "Upgrade" section as a training aid.
RECOMMENDATION
Invite your end users to attend a local Atlassian User Group meeting. It's an opportunity to get
free training and get their questions answered in an informative and fun setting. See the
"Atlassian User Groups" section in the "Resources" chapter.
Many Atlassian Expert Partners provide classes as well. Visit the experts directory at
jirastrategy.com/link/experts for providers in your location.
RECOMMENDATION
Get Certified
In early 2016, Atlassian launched their JIRA Administrator
Certification program. Atlassian describes their
certification as a way to "...enhance your credibility,
sharpen your performance, and help you deliver world-
class Atlassian experiences to teams everywhere." The
first step is passing a general scenario-based exam, called
"ACP-100." Then, you're eligible to take additional
advanced tests to showcase specialized skills and keep
your certification current. The first additional test is ACP-
110: "Advanced JIRA Workflows."
jirastrategy.com | 253
Experience
Atlassian recommends 2-3 years of JIRA administration experience. When I took the exam, I had
5.5 years of general JIRA user experience and 3.5 years of experience as an administrator. Even
with more than the recommended experience, the exam was challenging. I believe the year count
alone doesn't equate to "experience." There's a large difference between causal application
administration, where you make a project customization every now and then but JIRA basically runs
itself, and deep administration, where you've experienced setting up the application from scratch,
upgrading it, maintaining it, and are working daily in the administrative portion of the application. If
the majority of your time has been spent as a casual administrator, you'll need extra learning and
preparation time.
How to Study
1. Read everything about the exam on Atlassian's web site. Visit: jirastrategy.com/link/cert
2. Read the entire JIRA Administrator's Guide for the versions you'll be tested on. Visit:
jirastrategy.com/link/admin-guide
3. Read the release notes for the versions the test covers.
4. Visit every page in the application's admin UI to remind yourself of the settings and
capabilities.
6. Visit both the testing vendor and training center's websites to learn all you can about the test
experience.
▪ For example, you need to bring two forms of ID. You won't be able to take any
belongings into the testing room. (This includes your wallet, phone, and keys.)
▪ Recommendation: Bring a pair of earplugs to your JIRA Administrator certification
exam. They shield you from potential distractions, like noise from adjoining rooms,
your neighbor's pencil taps, and mouse clicks that really stand out in a silent room.
I put extra effort in preparing for the exam. I am very happy I passed, but even if I hadn’t, the prep
time was valuable. I learned new things and explored parts of the application I hadn't touched in a
while. The certification process as a whole made me a better JIRA Administrator.
• Recurring activities
• Data from other JIRA applications (Example: Adding production data to the test environment
or merging two instances.)
RECOMMENDATION
Before importing multiple issues, test importing just a couple issues. Check the results for
missing or incorrectly mapped data. It's much easier to address import problems in a flat file
first. Only some problems can easily be fixed with bulk tools later on. Alternatively, consider
importing into a test environment before importing into production.
Application administrators can access import settings from: Admin > System > External System
Import.
JIRA users can access import settings from the main navigation bar. Go to: Issues > Import
Issues from CSV.
TIPS
• Don't specify an issue key. Let JIRA auto number the issues. This avoids conflicts with
existing issues and issues being created at the same time.
• If you are importing into multiple projects, make sure the intricacies of each project's set up
are considered.
• Some fields should be left blank, to let project-specific rules set the values.
• Make sure any import field (status, custom field, etc) exists in the destination project,
workflow, etc. (Example: You can't import a status that isn't already used in the project's
workflow.)
• Make sure values for any required fields are specified. (Even if the importer allows you to
skip them, it may cause problems in the workflow, not to mention the need for the
information.)
• Accounts for new users will not be created. You can however map fields (Example: Assignee,
Reporter) to existing active usernames.
jirastrategy.com | 255
• Passwords will not be imported. (Users set a password on their first login attempt.)
• Double check spelling, especially for status names, drop down selections, and any field where
a certain format is expected.
• If importing into in a test environment, or if you'll repeat a similar import again, select "create
a CSV configuration file" in the import wizard. This will record your settings, saving time on
the next import.
Sample
Issue Due
Summary Assignee Reporter Description Status Priority
Type Date
Task January jdoe msmith Set up all build Open Major 31/Jan/
Release configurations and 00
Configuration scripts for all
projects deployed
in the current
release. Perform
continuous
installations into
test environments.
Plan and execute
the production
deployment event.
Download this sample file at: jirastrategy.com/link/bulk-import. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Since database types differ and database structures change between versions, it's not possible to
provide queries guaranteed to work in your environment. Instead, work with your database team to
craft the queries for your specific database setup and query efficiency needs.
Configuration Elements
Use the queries in this section for the "publish a static list" recommendations in the "Issue Types,"
"Statuses," "Resolutions," and "Custom Fields" chapters. Also, use them to check for similar values
before you create new ones.
Sample SELECT id, pname, description FROM issuetype ORDER BY pname ASC
Query:
Item: Statuses
Sample SELECT id, pname, description FROM issuestatus ORDER BY pname ASC
Query:
Item: Resolutions
Sample SELECT id, pname, description FROM resolution ORDER BY pname ASC
Query:
jirastrategy.com | 257
Item: Custom Fields
Sample SELECT pkey, pname, projecttype FROM project ORDER BY projecttype ASC
Query:
Use: Find most active (or inactive) projects. Projects with a static issue count may be
archival candidates.
Sample SELECT pname, count(*) AS "total issues" FROM jiraissue i, project p WHERE
Query: i.project = p.id GROUP BY p.pname, i.project
Use: Get the highest ID of an issue in a project. The previous query returns current
issue count. The result delta shows how many issues were deleted.
Use: Get last issue update or create information. Projects without recent updates or
creates may be archival candidates.
Use: List each project, its key, issue count, lead, and the last time an issue was
updated.
Use: List the primary users of a project. Spot issues assigned to inactive users and
reassign them.
Note: Obtain a project's ID from the "project" table or by hovering over the project's
"Edit" link on the "Projects" admin page.
jirastrategy.com | 259
Item: All Project Reporters
Use: List the primary users of a project. Spot issues reported by inactive users and
update the reporter.
Use: A way to see where an issue has moved. Many moves in the same project may
indicate a user training opportunity or a project that has been abandoned by
others.
Alternate: SELECT id, oldstring AS "original id", newstring AS "current id" FROM
changeitem WHERE oldstring LIKE "[PROJECTKEY]-%" AND newstring != ''
Note: Issues that haven't been moved are excluded with a null "newstring" condition.
Use: Find account details for former users. See the "De-Activate User Accounts"
section for items to address.
Use: Find users who've never logged in. Disable their account for security purposes and
to stay within your license tier.
Note: Limit the results to one user in the WHERE clause. (Example:
AND a.user_id = [user id]). Last login means a user who has "Remember Me"
checked in their browser. For this scenario, only the "last login" attribute will be
updated. Authentication means a username and password was entered. In this
scenario, both the "last login" and "last authentication" attributes will be updated.
jirastrategy.com | 261
Item: Users per Role per Project
Use: Gauge the impact of deleting or renaming a role. Understand role popularity. Spot
old permissions for users who've left the company.
Use: View all groups. Spot duplicate, similar, or legacy groups to target for clean-up.
Use: View the list of users in a specific group. Audit the application administrators
group as part of maintenance activities. See the "Scheduled Maintenance"
section for details.
Use: Find users who are inactive but still members of a group. Target these for clean-
up.
Use: Find saved filters per user. Remove filters for users who've left the company.
Gauge popularity before removing a filter or custom field.
Use: Find duplicates and results sent by users who've left the company.
jirastrategy.com | 263
Item: Filter Content
Use: Detect specific or common queries. Understand data users are reporting on.
Example: How many users are querying for field X?
Item: Dashboards
Use: Gauge dashboard popularity. Find and delete (or change ownership of)
dashboards owned by users who've left the company.
Workflows
Use the queries in this section to get additional workflow details.
Use: When it's not feasible to manually check rules for each individual transition in each
workflow.
Note: See further explanation in the "Finding Embedded Workflow Behaviors" section.
Use: Gauge scheme popularity. See the project to workflow scheme mapping.
Use: Find additional add-on data, not available in the admin UI.
Database Specific
Use the queries in this section to get basic information about your database and database users.
Use: Understand how your data is stored. Find information not available in the admin
UI. Detect new tables created by add-ons.
Use: See permissions for each database user. Audit database users as part of
maintenance activities. See the "Scheduled Maintenance" section for details.
jirastrategy.com | 265
Query Resources
Again, the queries above may not work for your database or JIRA version. They are there to give
ideas of additional ways to help you administer your application.
• jirastrategy.com/link/database-schema
• jirastrategy.com/link/sample-queries
• jirastrategy.com/link/database-schema-crowd
• jirastrategy.com/link/sample-queries-crowd
Download these query samples at: jirastrategy.com/link/database-queries. Use the code in the
“Worksheets, Templates & Companion Materials” section to download it for free.
Documentation
Official product documentation is available at: jirastrategy.com/link/official-docs. The
documentation includes information for end users and a guide specifically for administrators. The
documentation is categorized up by application type (e.g. Server or Cloud) and also by version.
MISTAKE
I spent two days reading the documentation for the wrong version. (No wonder things
weren't matching up!)
Support
Official product support is available at: support.atlassian.com
RECOMMENDATION
When requesting Atlassian support, use a role account with a distribution list email address.
This way multiple admin team members can access problem and solution details.
1. Before contacting support, check the documentation, answers forum, and previously reported
bugs, for a solution to your problem.
▪ Documentation: confluence.atlassian.com
2. Determine if you need application support or if instead, you need to log a bug.
3. For Server versions, run support tools like Instance Health, the Log Scanner, and
the Integrity Checker.
▪ See "Finding your JIRA application Support Entitlement Number (SEN)" at:
jirastrategy.com/link/find-sen
6. Always provide the Atlassian technicians with more detail than you think they need.
▪ For example: What specifically are you experiencing? What do you expect to happen
instead? How can they reproduce the issue? What computer and browser are you
using?
RECOMMENDATION
Worried about sending sensitive data in your support request? Use the JIRA Anonymiser
feature. More info at: jirastrategy.com/link/anonymising.
Are you passionate about JIRA, Confluence, or any of the Atlassian tools? Are you interested in
learning to use them in new ways? Can you share solutions to common business and software
development problems? Then join a User Group! Membership is free to you; Atlassian picks up the
tab!
Find a user group near you (or start one) at: aug.atlassian.com
o Use specific examples of problems you can solve by attending. Example: "I'll learn
about the new Certification program you were asking about" or "I'll take your question
about X straight to the Support Bar!"
o Use the "continuing education" or training angle. You need to learn something new
this year right?
o Example: How big was last year's event? How many people attended? How many
sessions were there? Who were the speakers and sponsors? (This information is
useful to compare against other events and communicate value.)
1. You will leave with pages of "new ideas" to bring back to your company.
2. You'll get answers to your questions directly from Atlassian or from companies sharing similar
problems.
3. You'll meet fellow users, Expert Partners (vendors, consultants), and Atlassian employees you
wouldn't normally have access to. (How useful would it be to have some Atlassian employee
business cards?)
5. It's a marketing opportunity for your company. (You'll hand out your business cards and
wear your company logo shirt, right?)
Budget
The flight and the conference hotel are likely expensive, so you need to prepare your supervisor for
sticker shock. Help soften the blow with a list of things your company won't have to pay for.
For example, do you really need a rental car? Most Summit events are held in cities where parking a
car is challenging and cost prohibitive. If your hotel is close to or in the conference location, skip the
rental car. You'll save hundreds by taking a cab or public transportation between the airport and
hotel. List a big, visual $0 next to that line item.
The "meals" line item can be listed as $0 or almost $0 as well. Atlassian feeds you all the time on
conference days. You won't be spending money on additional food.
jirastrategy.com | 269
Summit Tips
Use this guide to navigate Summit and make the most of your time at the user conference.
Before Summit
• Plan which sessions you want to attend, but be flexible. (Continuing your conversation with
that Expert partner or Atlassian employee may be more valuable than attending the next
session.)
• Don’t be a slave to power! Bring an extra battery or portable power source. Consider taking
notes on paper. You won't want to fight for an outlet to recharge devices.
• Be prepared to network! Pack your business cards. Don’t have work business cards? See if
your company has any “generic” cards you can write your info on. Alternatively, have the
Summit, LinkedIn, or other mobile networking app ready.
• Check the weather and the time zone in the conference city. Bring a light jacket as
conference centers tend to be chilly.
• Arrive the day before conference activities start and check in as soon as possible to avoid a
long registration line on the first morning.
• Walk the conference center before it gets busy to see where activities take place. If there's a
venue map, take a phone picture. Identify which vendor booth locations to visit.
• Don’t try to work AND attend Summit at the same time. It's too hard to do both well.
Instead, turn on your “out of office” email autoresponder, set the expectation that you’ll be
unavailable, and delegate your tasks to coworkers while you’re away.
• Find the Atlassian User Group area. The user group leader from your city might be at
Summit. No user group in your area? Learn how to start one!
• At the event, login to a chat program so you can communicate in real time with your
colleagues also at Summit. Example: "I'm going to the X session next" or "Meet you at noon
in the lobby!"
• Write a quick note on the back of any business card you receive so you’ll remember
how/if/why to follow up later.
• Pace yourself on day one and during Summit Bash! It's a long day and you want to make it
to the party.
• Atlassian feeds you a lot on conference days. You won’t need to spend much money on food.
After Summit
• Try to leave the day after Summit activities conclude. It's no fun leaving early to catch a
flight.
• After Summit, the major session recordings become available online. Don’t worry if two
sessions you want to attend happen at the same time.
• Leave room in your luggage for the return trip. You'll acquire new goodies (i.e. a few new t-
shirts!) Some die hard collectors bring an extra bag or plan to mail back items.
• Share your notes and the most important information with your team members who could not
attend.
Also see Atlassian's expanded "Tips for getting the most out of Summit" at:
jirastrategy.com/link/summit-tips
I take a lot of notes at the conference including what I learn and what to follow up on. Use this
worksheet to share the most important information with team members who could not attend.
RECOMMENDATION
Use Summit Notes worksheet to communicate the business justification for attending
Summit the following year.
Summit [year]
[dates] - [location]
summit.atlassian.com
jirastrategy.com | 271
Summit is the annual training, support, and networking event for all the Atlassian products we
use including: [product list]
• Attendees: [count]
• Sponsors: [count]
Major Announcements
RECOMMENDATION
Insert the top facts and upcoming features for each Atlassian product your company uses.
Session Notes
Record the names of the sessions you attend and any useful notes or takeaways.
Session Date &
[date, time]
Time:
Session Title: [session title]
Notes: [Insert session notes and URLs containing more information. Flag any
specific items to follow up on after the event.]
Contacts
Download this worksheet at: jirastrategy.com/link/summit-notes. Use the code in the “Worksheets,
Templates & Companion Materials” section to download it for free.
Other Books
These books make excellent companions to the JIRA Strategy Admin Workbook:
Atlassian Experts
Atlassian provides product support and bug fixes, but when you need more assistance, work with an
Expert Partner. Atlassian's global directory of over 250 experts can help you build a plugin,
configure your application, or assist in your transition to agile. If needed, an Expert Partner may
even log into your application and help you directly. Search for a vendor near you at:
jirastrategy.com/link/experts.
One of Atlassian's top experts, ServiceRocket, compiled a fabulous guide to selecting the right Expert
Partner. Read more: jirastrategy.com/link/select-expert
jirastrategy.com | 273
ServiceRocket's top tips for choosing the right expert are:
• Select an expert who's verified and has a good track record with Atlassian. Verified experts
are in the directory on the Atlassian website.
• Review the experts company structure, capabilities, case studies, reviews, and customer
references.
• Look for an expert who's active in the Atlassian ecosystem. Do they participate in the
answers.atlassian.com forum and respond to problems on jira.atlassian.com? Do they attend
User Groups meetings and the annual Summit user conference?
• Choose an expert that offers multiple services like training, support, and add-on
development. Seek a relationship that complements your current and future needs.
• Look for an expert that has an office location near your time zone.
• Select an expert who offers the most value, not the lowest cost. (You get what you pay for!)
Consulting
Need help digging your application out of the JIRA swamp? Contact Industry Templates, LLC at:
info@industry-templates.com.
Conclusion
Now, it's time for you to make a decision. Will you use the recommendations in this book to ensure
an organized, tidy, and peaceful JIRA garden? Or, will you let your application grow out of control
into a foggy, contaminated, overgrown swamp?
I hope this book gives you more insight into your application, helps get you and your admin team
organized, provides alternate strategies to consider, directs you to further information, and
ultimately helps you perform your administrative duties.
If you have additional strategies to share, I'd love to include them. Start the conversation at:
jirastrategy.com/link/conversation.
Recommendations
Download the 152 recommendations and tips at: jirastrategy.com/link/recommendations. Use the
code in the “Worksheets, Templates & Companion Materials” section to download it for free.
Index
Audit ....................... 11, 160, 165, 166, 191, 215, 264, 267
A
Authentication
Add-ons and Plugins Authentication ............................................... 179, 263
Add-ons ....... 12, 16, 22, 73, 86, 89, 104, 105, 106, 107, Single Sign-On .................................................... 9, 43
108, 109, 127, 166, 170, 226, 236, 240, 241
B
Bob Swift Atlassian Add-ons (an Appfire
company)............................................................ 226 Backup ................................................. 162, 179, 195, 207
JIRA Misc Workflow Extensions . 22, 89, 104, 105, Best Practices ...... 9, 10, 11, 12, 39, 66, 70, 76, 113, 116,
107, 108, 109, 227 118, 130, 134, 135, 147, 149, 220
JIRA Toolkit Plugin .......... 16, 22, 126, 227, 240, 241 Board ............................... 7, 8, 7, 8, 9, 23, 25, 52, 124, 132
Plugin Vetting ............................................ 12, 26, 221 Bonuses ............................................................. 13, 3, 252
Quick Subtasks for JIRA.................................... 227 Browse ................................... 54, 137, 139, 144, 174, 175
ScriptRunner for JIRA . 73, 114, 166, 170, 226, 236, Bug .............................. 66, 67, 68, 111, 115, 116, 241, 269
240 Bulk Change .................................................. 11, 73, 156
Suite Utilities for JIRA ..... 22, 86, 89, 104, 105, 106,
C
166, 227
Agile............................................................ 3, 91, 157, 270 Category
Announcement Banner ........ 7, 12, 185, 204, 237, 238 Project .................................................................... 9, 51
Archive................................... 11, 169, 173, 175, 177, 191 Status ..................................................................... 9, 71
Asset ..............................13, 4, 89, 123, 161, 227, 247, 248 Checklist ...................................................... 41, 42, 43, 54
Assignee ...... 16, 18, 22, 28, 54, 56, 60, 63, 103, 106, 113, Clean-Up ......................................... 11, 12, 172, 177, 216
115, 116, 132, 150, 157, 257, 258 Code
Atlassian CSS ........................................................................... 237
Certification ..................................... 4, 5, 13, 255, 271 HTML........................................... 41, 126, 230, 231, 237
Expert Partners .................................... 255, 270, 271 JIRA Query Language (JQL) ..... 4, 11, 51, 74, 164,
Marketplace ................................... 196, 212, 220, 221 169, 170, 176, 177, 217, 226, 254, 259
Summit User Conference............................ 13, 270 XML ............................................... 96, 97, 100, 101, 207
User Groups (AUGs) ..................... 13, 247, 255, 270 Comparison .......................................... 11, 178, 179, 182
Attachment .......................................... 16, 122, 157, 247
jirastrategy.com | 275
Component .. 16, 18, 28, 33, 60, 105, 132, 133, 134, 135, E
157, 216, 247
Editor
Confluence ... 1, 13, 16, 33, 44, 50, 51, 56, 196, 231, 244,
Andre Lehmann .................................................. 5, 50
247, 270
Billy Poggi ................................................................... 6
Contributor
Gregory Van Den Ham .................................. 5, 147
Brian Jones .................................................... 213, 226
Kimmoy Matthews ................................................... 6
Damien Lauberton............................................... 250
Matt Doar ...................................................... 5, 74, 275
Dan Radigan ............................................................ 91
Sheri Breault ............................................................. 6
Daniel Eads .............................................................. 92
Susan Hauth .............................................................. 6
Daniel Wester ....................................................... 221
Email
Dr. David Kohl ...................................................... 250
Email 11, 13, 17, 63, 155, 172, 193, 228, 229, 245, 246,
Eric Lemay ............................................................. 226
273
Hatim Khan ................................................................ 7
Incoming Email..................................... 172, 179, 191
Jobin Kuruvilla .................................................. 7, 275
Mail............................................ 155, 172, 179, 191, 196
Katherine Burstein ................................................ 86
Emergency Escalation .............................. 12, 192, 193
Mariano Goldman .................................................... 7
Environment .............................. 191, 195, 198, 204, 206
Mikey Schott .................................................. 133, 275
Epic ..................................68, 114, 115, 116, 157, 243, 244
Sarah Goff-Dupont.............................................. 250
Event ............... 95, 107, 150, 152, 153, 193, 244, 247, 250
Zack Seibert .......................................................... 250
Example from the Swamp ....9, 12, 25, 33, 34, 40, 44,
Created Date ............................................................. 182 46, 50, 53, 59, 67, 68, 73, 75, 102, 114, 119, 121, 125,
CSS ............................................................................... 237 136, 156, 163, 167, 168, 178, 214, 242
Custom Field Export .................................11, 74, 91, 166, 176, 177, 207
Checkbox ................................................................ 125 Extending JIRA ............................................... 4, 13, 228
Context .................................................... 118, 127, 128
Field Configuration ...... 10, 52, 54, 57, 113, 114, 118, F
120, 121, 123, 128, 134, 164 FAQ ............................................................................... 253
Field Configuration Scheme 10, 52, 123, 128, 134, Filter ............................................................... 34, 265, 266
164 Form ....................................................... 10, 114, 117, 256
Message Custom Field ...16, 17, 126, 127, 227, 240, Future Predictions ................................................... 188
241
Radio Button ......................................................... 125 G
Renderer ......................................... 123, 128, 129, 157 Groups ..... 9, 13, 25, 38, 39, 135, 138, 139, 144, 145, 146,
Required Field ................................................. 10, 120 147, 148, 161, 179, 188, 262, 264, 265, 270, 276
Text Field .......................................................... 17, 125
Customer Survey ....................................................... 19 H
Customization ........................ 12, 3, 16, 35, 63, 201, 220 Hacks............................................ 237, 238, 239, 240, 241
D Hardware ............................................................ 134, 179
HTML .............................................. 41, 126, 230, 231, 237
Dashboard .................................................... 42, 250, 253
Data I
Export ............................. 11, 74, 91, 166, 176, 177, 207 Inactive
Import .....................................13, 74, 91, 177, 207, 257 Project........................................................ 11, 168, 170
Update ............................................................. 9, 73, 75 User .................................................... 24, 191, 262, 265
Database... 12, 13, 2, 69, 71, 74, 120, 139, 169, 175, 177, Incident Log ................................................. 12, 214, 215
179, 182, 188, 191, 198, 200, 206, 207, 208, 214, 217, Issue
259, 267 Activity............................................................. 156, 254
Date Assignee .. 16, 18, 22, 28, 54, 56, 60, 63, 103, 106, 113,
Created Date ......................................................... 182 115, 116, 132, 150, 157, 257, 258
Due Date.. 16, 18, 19, 22, 116, 122, 131, 157, 247, 258 Attachment ...................................... 16, 122, 157, 247
Updated Date ........................................................ 172 Child ............................66, 108, 109, 115, 116, 123, 227
Distribution List .................................................. 32, 155 Issue Collector ...................................................... 230
Due Date...... 16, 18, 19, 22, 116, 122, 131, 157, 247, 258 Issue Type Scheme ................ 9, 52, 67, 68, 69, 163
Duplicate Elements ........................... 11, 165, 226, 227 Parent.......... 66, 105, 107, 108, 109, 115, 116, 123, 227
Priority ...... 13, 16, 18, 76, 122, 157, 167, 239, 247, 258
276 | JIRA Strategy Admin Workbook
Reporter .... 63, 103, 106, 113, 119, 122, 139, 146, 147, Notification
148, 150, 157, 257, 258 Notification ... 11, 35, 37, 47, 52, 54, 57, 149, 150, 153,
Resolution ..... 9, 72, 73, 74, 75, 79, 161, 165, 166, 226, 154, 155, 156, 165, 170, 177, 198, 205
259 Notification Scheme . 52, 54, 57, 149, 150, 153, 154,
Status..... 9, 22, 70, 71, 77, 82, 84, 85, 88, 90, 103, 104, 177
105, 108, 109, 155, 169, 186, 200, 204, 258
O
Unassigned................................................. 28, 60, 111
Issue Security Other Books ......................................................... 14, 275
Issue Security ....11, 52, 137, 139, 146, 147, 148, 161 Other Uses for JIRA .......................................... 13, 242
Issue Security Scheme ................ 52, 139, 146, 147 Outage ......................................... 185, 186, 187, 200, 204
J P
JIRA Password ....................................................................... 66
Cloud .. 3, 4, 5, 27, 28, 41, 107, 126, 127, 178, 179, 182, Permission
227, 269 Global ......................................................................... 24
Core .................................................................... 24, 179 Permission .... 10, 39, 52, 54, 56, 57, 87, 101, 103, 104,
Download .................................................................... 4 129, 135, 136, 137, 138, 139, 144, 145, 146, 147, 165,
OnDemand ................................................................. 4 173, 174, 175, 177, 257
Server .................................................................. 3, 4, 5 Permission Scheme ...... 10, 52, 54, 56, 57, 101, 129,
Software ............. 15, 24, 28, 60, 68, 112, 131, 179, 226 135, 136, 137, 138, 146, 147, 173, 174, 175, 177
JIRA Query Language .................................. 4, 11, 259 Plugin ....182, 186, 189, 191, 220, 221, 222, 224, 227, 267
JIRA Service Desk ................3, 13, 15, 24, 46, 217, 247 Priority ..........13, 16, 18, 76, 122, 157, 167, 239, 247, 258
JIRA Support Project ........................ 8, 12, 15, 91, 227 Project ...................................................................... 15, 47
JIRA Support Team ................................... 28, 193, 221 Q
JQL .. 4, 11, 51, 74, 164, 169, 170, 176, 177, 217, 226, 254,
259 Query .....13, 102, 118, 119, 163, 165, 196, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268
L Quick Explanation ..47, 66, 67, 70, 72, 76, 77, 111, 113,
Login 115, 118, 121, 123, 129, 132, 135, 146, 149
Password ................................................................... 66 R
Username ................................................................. 17
Recommendation ... 8, 15, 18, 19, 23, 24, 27, 28, 31, 32,
M 34, 35, 36, 37, 38, 41, 43, 45, 48, 50, 51, 52, 53, 54, 59,
Maintenance 12, 3, 28, 37, 179, 185, 186, 190, 191, 193, 69, 71, 72, 73, 74, 75, 76, 78, 80, 81, 82, 85, 86, 91, 92,
209, 217, 234, 264, 267 93, 94, 96, 100, 102, 110, 120, 125, 129, 133, 136, 138,
Materials 145, 152, 154, 156, 157, 159, 161, 174,176, 177, 182,
Checklist.................................................. 41, 42, 43, 54 183, 187, 190, 192, 195, 196, 201, 205, 207, 208, 209,
Code ....................21, 230, 231, 237, 238, 239, 240, 241 211, 213, 214, 223, 224, 226, 231, 237, 251, 252, 253,
Questions ................. 8, 6, 20, 41, 48, 63, 124, 216, 247 254, 255, 257, 269, 270, 273
Wording ....... 12, 28, 35, 36, 37, 41, 48, 58, 60, 63, 137, Re-index ........................................ 12, 106, 189, 190, 191
147, 150, 155, 170, 187, 198 Reminder ........................................ 35, 37, 199, 200, 204
Worksheet .... 10, 13, 26, 32, 35, 36, 40, 41, 48, 54, 82, Report ........................ 13, 28, 67, 191, 193, 208, 217, 241
84, 124, 137, 139, 144, 145, 146, 147, 148, 150, 157, Reporter ......103, 106, 113, 119, 122, 139, 146, 147, 148,
161, 169, 179, 182, 188, 191, 193, 194, 195, 196, 206, 150, 157, 257, 258
207, 208, 212, 214, 215, 217, 221, 224, 229, 273 Reporting
Merge Applications ............................................ 11, 178 Board ........................... 7, 8, 7, 8, 9, 23, 25, 52, 124, 132
Metrics ....................................................................... 8, 13 Dashboard ................................................ 42, 250, 253
Mistake ................... 27, 69, 94, 95, 96, 102, 172, 185, 269 Filter ........................................................... 34, 265, 266
Monitoring ............................................ 12, 179, 212, 214 Metrics ................................................................... 8, 13
Report .................... 13, 28, 67, 191, 193, 208, 217, 241
N Statistics ........................................... 12, 187, 191, 217
Naming .......................................................................... 82 Tracking... 11, 12, 13, 16, 18, 19, 22, 89, 122, 139, 157,
Network Operations Center (NOC) ... 198, 200, 203 182, 187, 191, 194, 243, 245, 247, 250, 267
Notice ....................................... 2, 173, 174, 175, 201, 205
jirastrategy.com | 277
Resolution .... 9, 13, 16, 19, 21, 22, 23, 70, 72, 73, 74, 75, Active User ....................................................... 24, 264
79, 85, 89, 90, 106, 139, 167, 215, 217 Administrator 4, 5, 8, 2, 7, 25, 26, 28, 50, 60, 81, 136,
Responsibilities ...... 17, 26, 28, 38, 39, 48, 50, 56, 58, 63 161, 179, 208, 215, 217, 226, 250, 255, 256
Role... 8, 35, 36, 38, 39, 103, 104, 136, 139, 145, 147, 148, Advisory Board ........ 7, 8, 7, 8, 9, 23, 25, 52, 124, 132
150, 246, 264 Ambassadors ..................................................... 23, 26
Rollback......................................................... 12, 206, 207 Application Administrator ............. 2, 8, 24, 26, 215
S Avatar ........................................................................ 47
Character User.............................................. 9, 35, 58
Screen.. 10, 18, 22, 52, 82, 84, 85, 90, 113, 114, 115, 116, Database Administrator ........................ 2, 208, 217
126, 157, 161, 164 End User...........................13, 8, 35, 201, 205, 252, 253
Issue Type Screen Scheme ......... 10, 52, 115, 116 External User. 9, 24, 33, 34, 39, 58, 74, 137, 196, 246,
Screen ...... 10, 18, 22, 52, 82, 84, 85, 90, 113, 114, 115, 257
116, 126, 157, 161, 164 Former ....................................................... 34, 170, 226
Screen Scheme .................10, 52, 114, 115, 116, 161 Group ..... 4, 5, 6, 1, 17, 50, 97, 103, 104, 131, 139, 144,
Tabs ...................................................................... 18, 63 145, 174, 207, 227, 230, 242, 243, 244, 255, 264, 265,
Security ...................... 10, 11, 75, 146, 147, 148, 179, 215 270, 273
Special Characters .................................................. 119 Inactive User ................................... 24, 191, 262, 265
Standard Capabilities ............11, 54, 57, 121, 156, 157 Internal User ........................................................... 24
Statistics ............................................... 12, 187, 191, 217 JIRA Core User ....................................................... 24
Status .... 22, 70, 71, 77, 82, 84, 85, 88, 90, 103, 104, 105, JIRA Service Desk User ....................................... 24
108, 109, 155, 169, 186, 200, 204, 258 JIRA Software User ............................................... 24
Story....................................................... 68, 111, 115, 116 New User .................................................................. 40
Strategy .. 1, 2, 9, 5, 47, 53, 112, 179, 212, 253, 273, 275, Other User ............................................................ 9, 43
281 Profile ....................................................................... 247
Sub-task ...... 15, 18, 67, 68, 105, 109, 111, 123, 191, 196 Project Administrator ..................................... 24, 26
Support ... 8, 12, 13, 15, 21, 24, 26, 28, 31, 36, 41, 42, 46, Project Lead ... 8, 23, 27, 28, 31, 32, 33, 47, 54, 56, 57,
48, 49, 51, 60, 63, 66, 68, 77, 91, 92, 124, 155, 162, 170, 60, 63, 78, 135, 150, 168, 169, 208
179, 191, 192, 193, 203, 208, 216, 217, 221, 227, 229, Project Manager ............................................. 2, 8, 48
231, 253, 269, 270, 271 Role ....... 8, 35, 36, 38, 39, 103, 104, 136, 139, 145, 147,
Documentation . 47, 66, 67, 70, 72, 76, 77, 78, 82, 84, 148, 150, 246, 264
110, 111, 113, 115, 118, 121, 123, 128, 129, 132, 135, System Administrator ...................................... 2, 24
146, 149, 152, 208, 224, 229, 230, 231, 269 Test User............................................................... 8, 24
Systems Team ...................193, 198, 200, 206, 208, 217 User Management
T Active Directory ...................................................... 43
Crowd ............................................... 16, 42, 43, 51, 136
Task .... 15, 18, 66, 67, 68, 69, 77, 80, 84, 96, 97, 103, 107, User Management ............................................. 9, 40
111, 115, 116, 123, 206, 211, 217, 258
Username ..................................................................... 17
Terminology..................................................... 8, 9, 4, 46
Testing V
Automated Testing................................ 12, 209, 212 Version... 10, 5, 28, 60, 105, 115, 116, 129, 130, 131, 145,
Regression Testing.............12, 54, 58, 196, 209, 223 157, 161, 179, 182, 194, 267
Test Case ................................................................ 211
Tip .... 41, 48, 49, 80, 81, 107, 124, 170, 171, 212, 227, 231 W
Tracking ...... 11, 12, 13, 16, 18, 19, 22, 89, 122, 139, 157, Warning ................................. 33, 177, 185, 196, 215, 238
182, 187, 191, 194, 243, 245, 247, 250, 267 Workflow
Training ..... 13, 16, 35, 179, 186, 193, 208, 217, 238, 252, Condition....................87, 102, 103, 104, 107, 109, 123
255 Post Function ..... 22, 82, 84, 85, 88, 90, 102, 106, 107,
U 152, 154, 227
Support Workflow .................................................. 77
Unused Elements ....................................... 11, 163, 166 Transition 18, 19, 22, 73, 74, 79, 82, 84, 85, 87, 88, 90,
Updated Date ............................................................ 172 93, 94, 105, 107, 108, 109, 110, 113, 126, 139, 144,
Upgrade ...... 182, 183, 186, 187, 190, 191, 193, 194, 195, 152, 174, 196, 226, 227
198, 199, 200, 201, 203, 204, 205, 206, 208, 217, 255 Transition Behavior ..... 10, 22, 78, 82, 84, 85, 88, 90,
User 96, 101, 102, 103, 104, 105, 107, 171, 266
278 | JIRA Strategy Admin Workbook
Transition Buttons ........................................... 87, 93 Worksheet .. 10, 13, 26, 32, 35, 36, 40, 41, 48, 54, 82, 84,
Validator.................................... 87, 104, 105, 108, 109 124, 137, 139, 144, 145, 146, 147, 148, 150, 157, 161,
Workflow Scheme ......10, 52, 77, 111, 112, 162, 163, 169, 179, 182, 188, 191, 193, 194, 195, 196, 206, 207,
266 208, 212, 214, 215, 217, 221, 224, 229, 273
Workflow Templates ....................................... 10, 84 X
XML ................................................... 96, 97, 100, 101, 207
Offer
You may be eligible to receive:
Also check for additional materials and new information in the JIRA Strategy Store at:
jirastrategy.com/store.
jirastrategy.com | 279