Mastering JIRA 7 - Second Edition - Ravi Sagar - E-Book

Mastering JIRA 7 - Second Edition E-Book

Ravi Sagar

0,0
38,39 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Become an expert at using JIRA 7 through this one-stop guide!

About This Book

  • This comprehensive guide will help you implement, customize and administer JIRA 7 application to meet the needs of your organization
  • You will get to know the strategies needed to develop and deploy JIRA 7, along with best practices when working with Jira
  • It covers the latest integrations of JIRA 7 with third-party platforms to help you professionally manage your software development projects

Who This Book Is For

If you are a JIRA administrator who is managing small-to-medium JIRA instances and you want to learn how to manage enterprise-scale instances, then this book will help you expand your knowledge and equip you with advanced skills. Prior understanding of the JIRA core concepts is required.

What You Will Learn

  • Plan the installation and upgrade of your JIRA instance to the newest version
  • Configure issue type schemes, create customized workflows, modify permission schemes, and change notification schemes
  • Implement JIRA Service Desk to manage your support tickets
  • Customize JIRA for test management, helpdesk, and requirement management
  • Deploy JIRA for Agile tracking using the Scrum and Kanban techniques
  • Develop JIRA add-ons to extend JIRA's functionality
  • Migrate data from external systems using CSV import
  • Generate reports directly from the JIRA database and use custom JavaScript and CSS
  • Integrate your JIRA application with third-party tools such as Confluence, SVN, and Git

In Detail

Atlassian JIRA 7 is an enterprise issue tracker system. One of its key strengths is its ability to adapt to the needs of an organization, ranging from building software products to managing your support issues.

This book provides a comprehensive explanation covering all three components of JIRA 7, such as JIRA Software, JIRA Core, and Jira Service Desk. It shows you how to master the key functionalities of JIRA and its customizations and useful add-ons, and is packed with real-world examples and use cases.

You will first learn how to plan for a JIRA 7 installation and fetch data. We cover JIRA reports in detail, which will help you analyze your data effectively. You can add additional features to your JIRA application by choosing one of the already built-in add-ons or building a new one to suit your needs.

Then you'll find out about implementing Agile methodologies in JIRA by creating Scrum and Kanban boards. We'll teach you how to integrate your JIRA Application with other tools such as Confluence, SVN, Git, and more, which will help you extend your application. Finally, we'll explore best practices and troubleshooting techniques to help you find out what went wrong and understand how to fix it.

Style and approach

This comprehensive book covers the advanced and new features of JIRA 7 with the help of rich code-based, real-world examples and use cases.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 314

Veröffentlichungsjahr: 2016

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Mastering JIRA 7 - Second Edition
Credits
About the Author
Acknowledgements
About the Reviewer
www.PacktPub.com
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Planning Your JIRA Installation
What is new in JIRA 7?
JIRA Core
JIRA Software
JIRA Service Desk
Planning your JIRA installation
Installation of JIRA on Windows
Installation of JIRA on Linux
Installation of JIRA as a service
Installation of JIRA from an archive file
System requirements
Procedure to install the JDK
Steps to install the JDK on Linux
Setting up the MySQL database
The JIRA setup wizard
JIRA directory structure, startup/shutdown scripts, and log files
The JIRA installation directory
The JIRA home directory
Subdirectories under the JIRA home directory
Planning your upgrade
Upgrading your JIRA instance
The fallback method for mission-critical applications
The rapid method using the installer
Manual upgrade method for Solaris
Updating JIRA add-ons
The JIRA add-ons compatibility matrix
Applications, uses, and examples
JIRA core concepts
Summary
2. Searching in JIRA
The Issue Navigator window
Searching the issues
Search using text
Filters and subscriptions
Subscriptions
Sharing your filters
Introduction to JQL
The basic JQL syntax
Use of operators in JQL
Advanced search using functions
Browser shortcuts
Exporting issues in Excel, RSS, XML, and JSON
Enabling JSON export in JIRA
Bulk editing
Summary
3. Reporting – Using Charts to Visualize the Data
Project reports
Issues
Reports
The Average Age Report
Report interpretation
The Created vs. Resolved Issues Report
Report interpretation
The Pie Chart Report
Report interpretation
The Recently Created Issues Report
Report interpretation
The Resolution Time Report
Report interpretation
The Single Level Group By Report
Report interpretation
The Time Since Issues Report
Report interpretation
The Time Tracking Report
Report interpretation
The User Workload Report
Report interpretation
The Version Workload Report
Report interpretation
Configuring and sharing dashboards
Gadgets for reporting purposes
Activity Stream
Created vs. Resolved Chart
Pie Chart
Issue Statistics
Two Dimensional Filter Statistics
Using add-on charts to visualize data
Barcharts for JIRA
Building advanced reports using eazyBI
Summary
4. Customizing JIRA for Test Management
What is test management?
Creating issue types for test campaigns and test cases
Creating new issue type schemes
Customizing the workflow for changes in transitions
Workflow for a test campaign
New states
Removing unwanted transitions
Adding new steps
Adding the missing transitions
Conditions
Post Function
Creating a new workflow scheme
Adding a custom event in JIRA
Customizing a notification scheme
Workflow for a test case
New states
Condition
Post function
Capturing additional data from users on state transitions
Learning how to make certain fields mandatory only for a test campaign
Limiting the project visibility to certain groups and individuals
Learn how to hide a specific issue from the user within a project
Versions and components
Summary
5. Understanding Zephyr and its Features
Installing the Zephyr plugin
Zephyr terminology
Starting to use Zephyr
Summary
6. Sample Implementation of Use Cases
Gathering requirements
Preparing the JIRA configuration document
What kind of issue tracking needs to be done?
Issue types required
Best practices
What data needs to be captured?
Best practices for customizing JIRA
Issue workflow
Setting up JIRA for helpdesk/support tickets
Issue types
Workflow
Fields
Screen schemes
Permission schemes
Setting up JIRA for requirement management
Issue types
Workflow
Fields
Documentation
Screen schemes
Permission schemes
Setting up JIRA for bug tracking
Issue types
Workflow
Fields
Screen schemes
Permission schemes
Changes in the customizations
Summary
7. User Management, Groups, and Project Roles
User and group management
Deciding upon the creation of user accounts
Creating a new user
Password policy
Creating a new group
Working with project roles
Creating a project role
Adding users and groups in the project role
Giving permissions to your project role
Types of administrators
JIRA System Administrators
JIRA Administrator
Summary
8. Configuring JIRA User Directories to Connect with LDAP, Crowd, and JIRA User Server
Authentication mechanism in JIRA
JIRA internal directory
Configuring LDAP
Understanding Base DN
Connecting to Crowd
Implementing Atlassian Crowd
Connecting to a JIRA user server
Allowing other applications to connect to JIRA
Synchronizing user and group information
Summary
9. JIRA Add-On Development and Leveraging the REST API
Setting up the Atlassian plugin SDK
Setting up the SDK prerequisites on a Windows system
Verifying the JDK installation and the JAVA_HOME system variable
Verifying that JAVA_HOME\bin is present in the environment variable PATH
Installing the Atlassian SDK on Windows
Getting familiar with the Atlassian SDK
The atlas command
Creating the helloworld plugin
Adding organization details in pom.xml
Loading the plugin in JIRA
Setting up the Eclipse IDE
Downloading the Eclipse IDE
Configuring Eclipse to start under the JDK
Updating the installed JREs in Eclipse
Installing the Maven plugin
Configuring the Maven plugin
Adding functionality to the skeleton plugin
Importing the helloworld plugin in Eclipse
Creating a menu in JIRA's top navigation bar
JIRA Cloud add-ons with an Atlassian Connect framework
Leveraging the JIRA REST API
Examples of a few operations that can be performed via REST
Use cases of JIRA REST API
Generating business intelligence reports
Bulk operations in JIRA
Building a custom interface for clients
JIRA's REST API Browser
Fetching user details
Sample code to interact with the REST API
Creating an issue using PHP
Authenticating with JIRA
Issuing data and printing the output
Fetching issue details using PHP
Summary
10. Importing and Exporting Data in JIRA and Migrating Configuration
The backup system
Generating the backup
Backup of attachments
Generating automatic backups
Restoring the system utility
Project Import utility
External system import using CSV
A simple CSV import
Preparing the CSV file
Performing the CSV import
Creating subtasks using the CSV file
Uploading attachments using the CSV file
Updating existing issues
Migrate JIRA configurations using the Configuration Manager add-on
Generate a snapshot
Deploying a snapshot
Summary
11. Working with Agile Boards in JIRA Software
Product overview – JIRA Software
Installing the JIRA Software application
Scrum boards
Agile project setup and JIRA Agile configuration basics
Populating, ranking, and estimating a backlog using story points
Planning and creating sprints
Configuring swimlanes, card colors, edit card fields, and quick filters
Swimlanes
Card colors
Card fields
Quick filters
The Burndown chart and Velocity charts
The Burndown chart
The Velocity chart
Kanban boards
Setting up the Kanban board
Column constraints
Managing multiple teams and projects using boards
Summary
12. JIRA Administration with ScriptRunner and the CLI Add-on
Installing ScriptRunner
Built-in scripts for administration
Accessing built-in scripts
Copy project
Escalation service
Switching to a different user
Modifying the JIRA workflow with conditions, validators, and post functions
Conditions
All sub-tasks must be resolved
Allowing the transition if this query matches a JQL query
Checks the issue has been in a status previously
Simple scripted condition
Validators
Field(s) changed validator
Require a comment on transition
Simple scripted validator
Post functions
Adds the current user as a watcher
Transition parent when all subtasks are resolved
Accessing powerful JQL functions
Returning issues with number of comments
Returning issues based on comment attributes
Returning issues based on attachments
Comparing dates
Installing JIRA CLI
Fetch the list of boards
Fetch the list of comments of a particular issue
Create an issue from the command line
Summary
13. Database Access
JIRA's database schema
Accessing HSQLDB
Accessing MySQL
phpMyAdmin
The MySQL console
Accessing PostgreSQL
User table
The table structure
Finding the list of inactive JIRA users
The jiraissue table
The table structure
Finding issues of a specific project
The customfield table
The table structure
The customfieldvalue table
The table structure
Some useful SQL queries
List of shared filters
Fetching users of a specific group
List of users with count of comments
Fetching the count of issues per component
Listing projects of a specific project category
List of assignees or reporters in a particular project
Summary
14. Customizing Look, Feel, and Behavior
Adding your own CSS
Adding JavaScript to show/hide field
Creating the issue
Velocity templates
Modifying the description system field with predefined text
Modifying the footer
Displaying a custom field in e-mails
Summary
15. Implementing JIRA Service Desk
Product overview – JIRA Service Desk?
Installing JIRA Service Desk
Queues
Customers
Reports
Workload
SLA goals
Satisfaction
Article usage
Article effectiveness
Created vs Resolved
Time to resolution
Incidents reported by priority
SLA met vs breached
Customer channels
Customer portal
E-mail
JIRA Service Desk configurations
Request types
Request security
Portal settings
Satisfaction settings
E-mail requests
Knowledge base
SLAs
Automation
Adding users as agents
Summary
16. Integrating JIRA with Common Atlassian Applications and Other Tools
JIRA with the Subversion plugin
JIRA with Bitbucket and GitHub
JIRA with other Git repositories
JIRA with Confluence
Summary
17. JIRA Best Practices
A word of caution before modifying default schemes and configurations
The JIRA customization process
Piloting JIRA with default configurations
Gathering feedback
Documenting and finalizing the proposed configurations
Testing configurations on sandbox
Implementing on the production stage
Standardizing configurations
Setting up a CCB
Various scenarios for impact analysis
Using project context to assign different options in multiple projects
Creating too many custom fields – A factor in slow performance
Choosing a custom field type wisely
Defining permissions
JIRA's Audit Log
Adding the announcement banner
Adding an introduction
Performing regular indexing
Final tips
Summary
18. Troubleshooting JIRA
Atlassian support
Atlassian Answers
Reporting a problem
Log scanner
Support ZIP
Common configuration issues
User is not able to log in
Solution
Users don't see the project
Solution
Permission helper
User complaints about e-mails not being received
Workflow buttons are missing
Solution
The options in the select list suddenly changed
The custom field disappears from the project
Increasing memory
Integrity Checker
Summary

Mastering JIRA 7 - Second Edition

Mastering JIRA 7 - Second Edition

Copyright © 2016 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, 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 critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: May 2015

Second edition: October 2016

Production reference: 1051016

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham 

B3 2PB, UK.

ISBN 978-1-78646-686-0

www.packtpub.com

Credits

Author

Ravi Sagar

Copy Editor

Safis Editing

Reviewer

Satyendra Gangadhar Narwane

Project Coordinator

Suzanne Coutinho

Commissioning Editor

Kunal Parikh

Proofreader

Safis Editing

Acquisition Editor

Chaitanya Nair

Indexer

Rekha Nair

Content Development Editor

Anish Sukumaran

Graphics

Jason Monteiro

Technical Editor

Kunal Chaudhari

Production Coordinator

Aparna Bhagat

About the Author

Ravi Sagar is a JIRA trainer, consultant, and Drupal expert with several years of experience in web development and business analysis. He has done extensive work implementing and customizing big JIRA instances for project tracking, test management, support tickets, and Agile tracking.

Ravi founded Sparxsys Solutions Pvt. Ltd. (www.sparxsys.com) in 2010—a start-up company that provides consultancy and training services on Atlassian tools and Drupal. He has created accessible websites for blind people, adhering to WCAG guidelines.

Ravi's areas of interest include project management and Agile methodologies. His areas of focus in customizing JIRA include topics, such as issue schemes, workflow schemes, field configuration schemes, screen schemes, permission schemes, and notification schemes. He has also worked on Agile tracking projects, such as Scrum and Kanban. He contributed immensely towards setting up JIRA for helpdesk, test case management, bug tracking, and support ticket management. His other areas of expertise include JIRA training, Drupal training, business analysis, project management, and JIRA Agile.

Ravi has extensive experience in JIRA installation and configuration and has also worked on Linux and Windows Server. He understands clients' requirements and suggests best solutions to save cost.

Ravi has been involved in JIRA support and maintenance and training, including regular upgrades of JIRA and installed plugins, migration from legacy-defect tracking tools to JIRA, splitting and merging JIRA instances apart from bulk actions, such as uploading issues, editing, and user creation.

He has also worked on implementing JIRA Agile and its integration with other tools, such as Confluence, Crucible, and Fisheye and has hands-on experience in JIRA REST and SOAP.

You can connect with him at http://www.linkedin.com/in/ravisagar or e-mail him at [email protected].

Acknowledgements

I would like to thank my wife, Shelly, who has always stood by me and helped me achieve my goals. This book wouldn't have been possible without her continuous encouragement. I want to dedicate this book to my little daughter Raavya, and also want to thank my parents for their endless support.

Special thanks to all the reviewers and book coordinators for their immense help on this book.

About the Reviewer

Satyendra Gangadhar Narwane is an honest, caring, intelligent, hardworking, and ambitious person with a good sense of humor. He is a postgraduate with a masters degree in computer science from one of the premier Indian universities, and he is working as a senior. Atlassian Product Expert at Dynamic Network Factory in the (US). He has conducted a seminar on behalf of Atlassian for promoting their tools in India and has developed dozens of custom add-ons based on customer needs. Satyendra provides training, administration, and add-on development on the Atlassian suite for top companies such as Oracle, Adobe, HCL, Mercedes Benz, MillenniumIT, Filpkart, ShipNet NS, and KBC Bank. He is very passionate about technology, computer science, traveling, watching movies, and enjoys great chats. He has previously worked on JIRA 7 Development Cookbook by Packt Publishing. 

I would like to express my gratitude to the many people who have helped me through this book. I would like to thank Packt Publishing for giving me a chance to work on this book. Above all, I want to thank my mom Sushila, wife Poonam, and the rest of my family, who supported and encouraged me in spite of all the time it took me away from them. It was a long and difficult journey for them. I would like to thank Suzanne Coutinho and Chaitanya Nair for helping me in the process of selection and reviewing. Last but not least: I beg forgiveness of all those who have been with me over the course of the years and whose names I have failed to mention.

www.PacktPub.com

For support files and downloads related to your book, please visit www.PacktPub.com.

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

https://www.packtpub.com/mapt

Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

Why subscribe?

Fully searchable across every book published by PacktCopy and paste, print, and bookmark contentOn demand and accessible via a web browser

Preface

JIRA is a popular issue tracking tool from Atlassian and has amazing customization abilities and finely grained control over various functions. Out of the box, JIRA offers issue and bug tracking capabilities to create tasks, assign them to users, and generate useful reports. However, the real power of JIRA lies in the customizations it offers.

Experienced JIRA administrators looking to learn advanced topics and expand their knowledge will benefit from this book. This book provides a comprehensive explanation covering all components of JIRA 7, such as JIRA Software, JIRA Core, and JIRA Service Desk.

Packed with real-world examples and use cases, you will first learn how to plan the JIRA installation. Then, you will be given a brief refresher of the fundamental concepts and understand the customizations in detail, along with sample data for various use cases, and several aspects of JIRA administration, such as user management, groups, roles, and security levels, will be covered, keeping in mind the applications for enterprises. Next, this book will take you through add-on development to extend JIRA's functionality, and will give insights into building applications on top of JIRA using the REST API. Various aspects of migration from other tools using CSV files will also be discussed. This book has a separate section on implementation of the JIRA Service Desk application, which is a very popular add-on for support requests and the ticketing system.

The implementation of the Scrum and Kanban techniques along with Agile reports, will be discussed as well. We will take a look at the Groovy script, which is a great tool that empowers JIRA administrators with tremendous flexibility. Additionally, we will also take a look at some of the common database tables to fetch useful results and discuss the possibilities to add custom CSS and JavaScript in our JIRA instance. Finally, we will conclude the book by going through the best practices and troubleshooting to help you find out what went wrong and how to fix it.

What this book covers

Chapter 1, Planning Your JIRA Installation, covers planning the JIRA installation to ensure the longevity of the installation so that it can accommodate more users and data in future. The installation and update process is also discussed briefly in this chapter.

Chapter 2, Searching in JIRA, gives a detailed explanation of how data can be fetched from JIRA using the Basic search feature, as well as by writing advanced queries using JQL.

Chapter 3, Reporting – Using Charts to Visualize the Data, covers various built-in project reports that come with JIRA and how to present them on the dashboards.

Chapter 4, Customizing JIRA for Test Management, explains how to modify the configurations to implement new issue types for test campaigns and test cases. The procedure to implement a new workflow with conditions, along with a new permission scheme, will be discussed in detail.

Chapter 5, Understanding Zephyr and its Features, walks through a step-by-step implementation of this popular add-on for test management in JIRA.

Chapter 6, Sample Implementation of Use Cases, gives a lot of examples of different implementations, such as the Helpdesk system and requirement management, that readers can leverage in their company.

Chapter 7, User Management, Groups, and Project Roles, explains how to manage the users in JIRA and the way to organize them in various groups.

Chapter 8, Configuring JIRA User Directories to Connect with LDAP, Crowd, and JIRA User Server, discusses how to integrate your JIRA instance with LDAP and Crowd for external user management.

Chapter 9, JIRA Add-on Development and Leveraging the REST API, explains how to start developing add-ons for JIRA to extend the functionality. The JIRA REST API which enables us to accessing JIRA functionality from external tools, is also discussed with examples.

Chapter 10, Importing and Exporting Data in JIRA and Migrating Configuration, talks about how data from external tools can be imported using the CSV import and Project Import features. The importance of taking regular backups is explained in this chapter, along with the procedure to restore JIRA from a backup file.

Chapter 11, Working with JIRA Agile Boards in JIRA Software, explains how to implement the Scrum and Kanban techniques in JIRA. The planning of your Sprints in the Scrum and various customizations that one can do on these boards is discussed in detail along with the Burndown and Velocity charts that track the progress of the project.

Chapter 12, JIRA Administration with Script Runner and CLI Add-on, introduces the add-on that administrators can install and various additional features using scripting that it brings, which helps the administrators with various customizations that were otherwise not possible.

Chapter 13, Database Access, explains how to fetch data directly from the JIRA database. This chapter has various useful queries to retrieve information from the database. The way to access data from an embedded HSSQL database is also explained.

Chapter 14, Customizing Look, Feel, and Behavior, talks about how to make extreme changes in the JIRA design using Custom Stylesheets, and also, to controlling the HTML fields using JavaScript is explained.

Chapter 15, Implementing JIRA Service Desk, explains how to configure and set up the JIRA Service Desk application to handle your Support Requests.

Chapter 16, Integrating JIRA with Common Atlassian Applications and Other Tools, gives information on connecting JIRA with confluence, SVN, and Git.

Chapter 17, JIRA Best Practices, talks about various points that JIRA administrators should keep in mind, not only before implementing JIRA, but also various practices that they should employ on an ongoing basis.

Chapter 18, Troubleshooting JIRA, covers the various ways to identify the problems in the instance. Common problems that people face in JIRA are listed in this chapter.

What you need for this book

To install and run JIRA, the following software and tools are required:

JIRA 7.1.1 or laterMySQL 5.6 or laterJava 1.8 or laterPHP 5.4Chrome 7 or laterFirefox 4 or later

Wherever applicable, the details on obtaining this software and its usage is explained in the relevant chapters.

Who this book is for

If you are a JIRA administrator managing small to medium JIRA instances and want to learn how to manage enterprise-scale instances, then this book will help you in expanding your knowledge and equip you with advanced skills. Prior understanding of JIRA core concepts is required. Additionally, basic CSS, JavaScript, and Java understanding will be helpful.

Conventions

In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "The atlas-run-standalone command is used to set up and start the JIRA instance for you."

A block of code is set as follows:

#if ($mentionable) $!rendererParams.put("mentionable", true) #if ($issue.project.key && $issue.project.key != "") $!rendererParams.put("data-projectkey", "$!issue.project.key") #end #if ($issue.key && $issue.key != "") $!rendererParams.put("data-issuekey", "$!issue.key") #end #end

Any command-line input or output is written as follows:

atlas-mvn eclipse:eclipse

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "In the menu bar, click on Windows | Preferences."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book-what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of. To send us general feedback, simply e-mail [email protected], and mention the book's title in the subject of your message. If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

You can download the code files by following these steps:

Log in or register to our website using your e-mail address and password.Hover the mouse pointer on the SUPPORT tab at the top.Click on Code Downloads & Errata.Enter the name of the book in the Search box.Select the book for which you're looking to download the code files.Choose from the drop-down menu where you purchased this book from.Click on Code Download.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

WinRAR / 7-Zip for WindowsZipeg / iZip / UnRarX for Mac7-Zip / PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Mastering-JIRA-7-Second-Edition. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Downloading the color images of this book

We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/MasteringJIRA7SecondEdition_ColorImages.pdf.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books-maybe a mistake in the text or the code-we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at [email protected] with a link to the suspected pirated material.

We appreciate your help in protecting our authors and our ability to bring you valuable content.

Questions

If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.

Chapter 1. Planning Your JIRA Installation

Atlassian JIRA is a proprietary issue tracking system. It is used to track bugs, resolve issues, and manage project functions. There are many such tools available in the market, but the best thing about JIRA is that it can be easily configured and it offers a wide range of customizations. Out of the box, JIRA offers defect/bug tracking functionalities, but it can also be customized to act like a helpdesk system, a simple test management suite, or a project management system with end-to-end traceability.

This chapter offers a brief introduction to JIRA and the new features of JIRA 7, mainly the three variants JIRA Core, JIRA Software, and JIRA Service Desk. Emphasis is given to planning, installing, and setting up JIRA. After reading this chapter, you should understand how to plan your JIRA installation and ensure the longevity of its installation so that it can accommodate more users and data in the future. We will begin with a questionnaire that needs to be answered before you can deploy a JIRA instance in your company. You will learn about the system and hardware requirements to run JIRA for an enterprise. The installation procedure for Windows and Linux operating systems is discussed briefly and the setup wizard is explained in detail in this chapter.

Topics covered in this chapter include:

What is new in JIRA 7?Planning your JIRA installationSystem requirementsSetting up the MySQL databaseThe JIRA setup wizardJIRA directory structure, startup/shutdown scripts, and log filesPlanning your upgradeUpdating JIRA add-onsApplications, uses, and examplesJIRA core concepts

What is new in JIRA 7?

The much awaited JIRA 7 was released in October 2015 and it is now offered in three different application variants:

JIRA CoreJIRA SoftwareJIRA Service Desk

Let us discuss each one of them separately.

JIRA Core

This comprises of the base application of JIRA that you might be familiar with, of course with some new features. JIRA Core is a simplified version of JIRA features that we have been using up until the 6.x versions.

JIRA Software

This comprises of all the features of JIRA Core and JIRA Agile. From JIRA 7 onwards, JIRA Agile will no longer be offered as an add-on. You will not be able to install JIRA Agile from the marketplace.

JIRA Service Desk

This comprises of all the features of JIRA Core and JIRA Service Desk. Just like JIRA Software, JIRA Service Desk will no longer be offered as an add-on and you cannot install it from the marketplace.

This split of applications was done by Atlassian, keeping in mind the usage of JIRA in various organizations across the globe, and it makes it very simple for the companies to choose the right application suitable for their needs. However, it doesn't mean that all three applications (JIRA Core, JIRA Agile, and JIRA Service Desk) can't be used on the same instance. You can certainly buy JIRA Software and later install the JIRA Service Desk application on it.

Apart from this split, JIRA 7 brings new features such as Release Hub, with real-time status of the versions, an improved sidebar where you can add your own shortcuts, better reporting, and visibility of development tools. We will discuss and highlight these improvements in the relevant chapters in this book.

In this book, we will install JIRA Software that comes in-built with JIRA Agile, and later we will install JIRA Service Desk on top of it.

Planning your JIRA installation

There are certain points to be kept in mind before you install JIRA in the production phase and deploy it. The points that are discussed here should ideally be a part of your JIRA questionnaire, which you will prepare and fill in after discussion with the product owners and project managers. This will not only help you to plan your installation for now, but it will also give you a good idea about the future usage of the tool.

From the very beginning, start preparing the documents to store all the following information:

Number of users: This is the most important thing that the JIRA administrator should worry about. If you are using a limited user license in JIRA, then you should know the number of users who are using JIRA currently and who will be using it a few months down the line. In enterprise systems, there is no limit defined in the license on the number of active users accessing the system, but it's important to worry about various aspects that are discussed here:
Are users part of a single team or several teams? It's also possible to give limited access of your JIRA instance to clients and third-party vendors.If users are part of several teams working with different groups, then is there a need to limit the visibility of projects within these groups?
Number of projects: The JIRA license will not put any limit on the number of projects. You can create any number of projects irrespective of whether you use 10 users' licenses or 100 users' licenses. The more the number of projects means a lot of issues will be stored in the database and a lot of schemes will have to be managed by administrators. It's good to know the tentative number of projects that will be stored in JIRA.JIRA server hardware recommendation: The hardware required to run JIRA depends on the number of variables, such as the number of users, number of projects, traffic, and number of schemes used in JIRA:
For approximately 50 projects and 100 users, with less than 5,000 issues—16 GB RAM and a multicore CPU.For approximately 100 projects and 3,000 users, with less than 100,000 issues—32 GB RAM, 2 Intel (R) Xeon (R), and CPU E5520 @ 2.27 GHz (16 logical cores) processors.Atlassian has a recommended sizing guide. Refer to the following URL for more information: https://confluence.atlassian.com/enterprise/jira-sizing-guide-461504623.html.
Will you need mail notifications in JIRA?: Do you want e-mail notifications sent to users? JIRA has the capability to send e-mails to users on various events, such as issue creating, updating, and resolving. In order to send e-mails, an SMTP server is required. JIRA can also be configured with Google Apps for Work; just enter your username and password to enable notifications. It's also possible to create issues and post comments using a dedicated e-mail. This functionality can be configured using e-mail handlers in JIRA so that users won't need to launch JIRA to post a comment on the ticket they are assigned to; they can just reply to the e-mail received from JIRA.Authentication: JIRA has its own internal directory user management system where the information of a user is stored in an internal database. By default, it's enabled when you install JIRA. It's also possible to use directory servers such as LDAP for authentication, user, and group management. In huge organizations where a lot of tools are used, it's important to have such integrated authentication mechanisms so that end users don't have to remember multiple passwords.Can JIRA be used from multiple locations?: It's important to know the geographical location of the user and from where they will be accessing the JIRA instance. The choice of a JIRA server becomes important here; latency checks should be done from all such locations and the server location should be in such a way that it offers the best performance to everyone accessing it. As a JIRA administrator, your responsibility will be to do performance routine maintenance activities, such as indexing in JIRA. You should know the time window when there are a less number of users connected to the system.How many concurrent users will access the system?: If you have thousands of users in a geographical location, they may access the system simultaneously. This will result in a degraded performance. Although it's important to know the peak usage during the day beforehand, there are various performance improvement measures that can be worked on.Tentatively, how many issues per project can be stored?: Discuss with all the product stakeholders about the usage of the tool. You should have plenty of storage to accommodate the huge amount of data. Of course, as an administrator, you will have a fair understanding of the usage. A project can have thousands of issues and these can have file attachments. From time to time, keep a check on the free disk space.Tentatively, how many total issues can be stored?: JIRA indexing helps in improved search results. However, it can take several minutes to finish and it should ideally be done when there is less usage of the tool. A JIRA instance with less than 100,000 issues may take 10-15 minutes to finish and you should keep this in mind before announcing a downtime. Knowing how many issues will be present in the system will help you to make better decisions.Will users also upload attachments in their projects?: The out-of-the-box concept of JIRA has a provision to attach files along with issues. Of course, it's a desirable feature and everyone wants this. All the attachments are stored on the disk. Maybe, for some good reason, there is no need to have this feature and it's always good to discuss this first with the product stakeholders.How many custom fields do you intend to create?: Ideally, all the schemes and configurations should be documented before implementing it, but it's always good to have a clear understanding of the number of custom fields that you need to create in the system.Choice of platform and database: JIRA (being a pure Java-based application) can be installed either on the Windows or Linux operating system. It needs a JDK or JRE environment to run. If your IT team is more comfortable with Windows and SQL, then use it. Linux has some advantages (such as SSH) and is more suitable for open source tools (such as Postgres or MySQL).Integration with other tools: JIRA can be integrated into a lot of other tools from Atlassian and other commonly used tools in software development. Will you need integration with Confluence, FishEye/Crucible, Bamboo, Git, or SVN? Keep these possible integrations in mind at the beginning.

Generally, for best performance, most people prefer Linux-RedHat or CentOS as the first choice of distribution. The preferred database is MySQL and Postgres.

Tip

For further information on supported platforms, visit the following documentation on Atlassian at https://confluence.atlassian.com/display/JIRA/Supported+Platforms.

Installation of JIRA on Windows

JIRA can be easily installed using the automated Windows Installer. If you are using this method, there is no need to set up the JDK; the installer will configure it for you. The following are the steps to install JIRA on Windows:

Download the JIRA Windows Installer (.exe) file for your platform and architecture from https://www.atlassian.com/software/jira/download.