Book Image

Mastering JIRA

By : Ravi Sagar
Book Image

Mastering JIRA

By: Ravi Sagar

Overview of this book

<p>JIRA is an issue-tracking tool from Atlassian and has gained immense popularity in recent years due to its ease of use and, at the same time, its customization abilities and finely grained control over various functions. JIRA offers functionalities for creating tasks and assigning them to users and many useful add-ons can be added such as JIRA Agile for Agile tracking and Groovy scripts, a powerful tool for administering customizations for customizations.</p> <p>This book explains how to master the key functionalities of JIRA and its customizations and add-ons, and is packed with real-world examples and use cases. You will first learn how to plan JIRA installation. Next, you will be given a brief refresher of fundamental concepts and learn about customizations in detail. Next, this book will take you through add-on development to extend JIRA functionality. Finally, this book will explore best practices and troubleshooting, to help you find out what went wrong and how to fix it.</p>
Table of Contents (23 chapters)
Mastering JIRA
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Planning the 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 after discussing 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 user licenses or 100 user licenses. More 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 the number of schemes used in JIRA:

    • For approximately 50 projects and 100 users, less than 5000 issues—16 GB RAM and a multicore CPU

    • For approximately 100 projects and 3000 users, less than 100,000 issues—32 GB RAM, 2 Intel (R) Xeon (R), and CPU E5520 @ 2.27 GHz (16 logical cores) processors

  • 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; a latency check should be done from all such locations and the server location should offer 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 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. JIRA instances 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 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 on 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 distro. 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.

Installing 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 JDK; the installer will configure it for you. The following are the steps to install JIRA on Windows:

  1. Download the JIRA Windows Installer (.exe) file from https://www.atlassian.com/software/jira/download.

  2. In the next step, select Express Install to install JIRA with its default settings; however, a custom installation is recommended, where you can specify the destination directory to install JIRA, the JIRA HOME directory, and TCP ports. We recommend the Custom Installation.

  3. You will also get an option to install JIRA as a service.

  4. After the JIRA installation, it will launch automatically in the browser to run the setup wizard.

Tip

Refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Windows for detailed steps to install JIRA on Windows.

Installing JIRA on Linux

Just like Windows Installer, JIRA can also be installed easily on your Linux operating system using the console wizard:

  1. Download the appropriate JIRA Linux 64-bit/32-bit installer (.bin) file from https://www.atlassian.com/software/jira/download.

  2. Open a Linux console and change the (cd)directory to the .bin file's directory.

  3. If not already created, then create the .bin file executable using the chmod a+x atlassian-jira-X.Y.bin command.

  4. Execute the ./atlassian-jira-X.Y.bin bin file.

  5. In the next step, select Express Install to install JIRA with its default settings. However, we recommend Custom Install, where you can specify the destination directory to install JIRA, the JIRA HOME directory, and TCP ports. We recommend Custom Install.

  6. You will also get an option to install JIRA as a service.

  7. After the installation process, JIRA will launch automatically in the browser to run the setup wizard.

Tip

Refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Linux for detailed steps to install JIRA on Linux.

Installing JIRA as a service

If you run either the Windows or Linux installer with system administrator rights, then you will get an option to install JIRA as a service. This makes it really easy for JIRA administrators as the service can be configured to start automatically when the server boots; otherwise, you will need to start JIRA manually every time you start your server.

Installing JIRA from an archive file

If you want to install JIRA on Solaris, there is no automatic installation for it and JIRA needs to be installed from an archive file using the following steps:

  1. Download and extract the JIRA archive file.

  2. Set the JIRA home directory.

  3. Create a dedicated user account on the operating system to run JIRA.

  4. Start JIRA using the start-jira.sh file.

  5. Run the setup wizard.

Tip

For detailed instructions on how to install JIRA from an archive file, refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+from+an+Archive+File+on+Windows%2C+Linux+or+Solaris.