You are previewing Mastering JIRA 7 - Second Edition.
O'Reilly logo
Mastering JIRA 7 - Second Edition

Book Description

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.

    Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the code file.

    Table of Contents

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