Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
JIRA 7 Essentials
JIRA 7 Essentials

JIRA 7 Essentials: Explore the great features of the all-new JIRA 7 to manage projects and effectively handle bugs and software issues , Fourth Edition

eBook
₱1885.99 ₱2694.99
Paperback
₱3367.99
Subscription
Free Trial

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

JIRA 7 Essentials

Chapter 1. Getting Started with JIRA

In this chapter, we will start with a high-level view of JIRA, going through each of the components that make up the overall application. We will then examine the various deployment options, system requirements for JIRA 7, and platforms/software that are supported. Finally, we will get our hands dirty by installing our very own JIRA 7 from scratch with the newly improved installation wizard. In the end, we will also cover some post-installation steps, such as setting up SSL to secure our new instance.

By the end of this chapter, you will have learned about the following:

  • The different product offerings from the new JIRA 7 family
  • The overall architecture of JIRA
  • The basic hardware and software requirements to deploy and run JIRA
  • Platforms and applications supported by JIRA
  • Installing JIRA and all of the required software
  • Post-installation configuration options to customize your JIRA

JIRA Core, JIRA Software, and JIRA Service Desk

Starting with JIRA 7, JIRA is split into three different products, and the term JIRA now refers to the common platform that all these products are built on. The three products that make up the new JIRA family are the following:

  • JIRA Core: This is similar to the classic JIRA, with all the field customizations and workflow capabilities. This is perfect for general-purpose task management.
  • JIRA Software: This is JIRA Core with agile capabilities (previously known as JIRA Agile). This is well suited for software development teams that want to use agile methodologies, such as Scrum and Kanban.
  • JIRA Service Desk: This is JIRA Core with service desk capabilities. This is designed for running JIRA as a support ticketing system, with a simplified user interface for the end users, and a focus on customer satisfaction with SLA goals.

As you can see, JIRA Core is at the center, providing all the base functionalities such as user interface customization, workflows, and e-mail notifications, while JIRA Software and JIRA Service Desk add specialized features on top of it.

In this book, we will mostly focus on JIRA Software. However, since JIRA Core provides many of the common features, most of the knowledge is also applicable to JIRA Core, and features that are only available to JIRA Software will be highlighted. For this reason, the term JIRA will be used to cover both JIRA Core and JIRA Software, unless a distinction is required. We will also cover JIRA Service Desk in Chapter 11JIRA Service Desk.

The JIRA architecture

Installing JIRA is simple and straightforward. However, it is important for you to understand the components that make up the overall architecture of JIRA and the installation options available. This will help you make an informed decision and be better prepared for future maintenance and troubleshooting.

High-level architecture

Atlassian provides a comprehensive overview of the JIRA architecture at https://developer.atlassian.com/jiradev/jira-platform/jira-architecture/jira-technical-overview. However, for the day-to-day administration and usage of JIRA, we do not need to get into details; the information provided can be overwhelming at first glance. For this reason, we have summarized a high-level overview, which highlights the most important components in the architecture, as shown in the following figure:

High-level architecture

Web browsers

JIRA is a web application, so there is no need for users to install anything on their machines. All they need is a web browser that is compatible with JIRA. The following table summarizes the browser requirements for JIRA:

Browsers

Compatibility

Internet Explorer

10.0, 11.0

Mozilla Firefox

Latest stable versions

Safari

Latest stable versions on Mac OSX

Google Chrome

Latest stable versions

Mobile

Mobile Safari

Mobile Chrome

Application services

The application services layer contains all the functions and services provided by JIRA. These services include various business functions, such as workflow and notification, which will be discussed in depth in Chapter 6, Workflows and Business Processes and Chapter 7E-mails and Notifications, respectively. Other services such as REST/Web Service provide integration points to other applications The OSGi service provides the base add-on framework to extend JIRA's functionalities.

Data storage

The data storage layer stores persistent data in several places within JIRA. Most business data, such as projects and issues, are stored in a relational database. Content such as uploaded attachments and search indexes are stored in the file system in the JIRA_HOME directory, which we will talk about in the next section. The underlying relational database used is transparent to users, and you can migrate from one database to another with ease, as referenced at https://confluence.atlassian.com/display/JIRA/Switching+Databases.

The JIRA installation directory

The JIRA installation directory is where you install JIRA. It contains all the executable and configuration files of the application. JIRA neither modifies the contents of the files in this directory during runtime, nor does it store any data files inside the directory. The directory is used primarily for execution. For the remainder of the book, we will refer to this directory as JIRA_INSTALL.

The JIRA home directory

The JIRA home directory contains key data and configuration files specific to each JIRA instance, such as JIRA's database connectivity details. As we will see later in this chapter, setting the path to this directory is part of the installation process.

There is a one-to-one relationship between JIRA and this directory. This means each JIRA instance must (and can) have only one home directory, and each directory can serve only one JIRA instance. In the old days, this directory was sometimes called the data directory. It has now been standardized as the JIRA Home. It is for this reason that, for the rest of the book, we will refer to this directory as JIRA_HOME.

The JIRA_HOME directory can be created anywhere on your system or even on a shared drive. It is recommended to use a fast disk drive with low network latency to get the best performance from JIRA.

This separation of data and application makes tasks such as maintenance and future upgrades an easier process. Within JIRA_HOME, there are several subdirectories that contain vital data, as shown in the following table:

Directory

Description

data

This directory contains data that is not stored in the database, for example, uploaded attachment files.

export

This directory contains the automated backup archives created by JIRA. This is different from a manual export executed by a user; manual exports require the user to specify where to store the archive.

import

This directory contains the backups that can be imported. JIRA will only load backup files from this directory.

log

This directory contains JIRA log files, useful to track down errors. Some of the key log files include:

  • atlassian-jira.log: Information about JIRA Software and the JIRA Core application.
  • atlassian-servicedesk.log: Information about the JIRA Service Desk application.
  • atlassian-jira-security.log: Information about user sessions, logins, and logouts.

plugins

This directory is where installed add-ons are stored. In the previous versions of JIRA, add-ons were installed by copying add-on files to this directory manually; however, in JIRA 7, you will no longer need to do this, unless specifically instructed to do so. Add-ons will be discussed further in later chapters.

caches

This directory contains cache data that JIRA uses to improve its performance at runtime. For example, search indexes are stored in this directory.

tmp

This directory contains temporary files created at runtime, such as file uploads.

When JIRA is running, the JIRA_HOME directory is locked. When JIRA shuts down, it is unlocked. This locking mechanism prevents multiple JIRA instances from reading/writing to the same JIRA_HOME directory and causing data corruption.

JIRA locks the JIRA_HOME directory by writing a temporary file called jira-home.lock into the root of the directory. During the shutdown, this file will be removed. However, sometimes JIRA may fail to remove this file, such as during an ungraceful shutdown. In this case, you can manually remove this locked file to unlock the directory so that you can start up JIRA again.

Tip

You can manually remove the locked file to unlock the JIRA_HOME directory if JIRA fails to clean it up during the shutdown.

System requirements

Just like any other software application, a set of base requirements needs to be met before you can install and run JIRA. Therefore, it is important for you to be familiar with these requirements so that you can plan out your deployment successfully. Note that these requirements are for a behind-the-firewall deployment, also known as the JIRA Server. Atlassian also offers a Cloud-based alternative called JIRA Cloud, available at https://www.atlassian.com/software#cloud-products.

The cloud version of JIRA is similar to the behind-the-firewall JIRA deployment in most areas, and it is perfect for organizations that do not want to have the overhead of the initial setup and just want to get up-and-running quickly. One major limitation of JIRA Cloud is that you cannot use many of the third-party add-ons available. If you want to have all the power and flexibility of the JIRA Server and worry-free server management, you may consider managed hosting for JIRA offered by third-party vendors.

Hardware requirements

For evaluation purposes, where there will only be a small number of users, JIRA will run happily on any server that has a 1.5 GHz processor and 1 GB to 2 GB of RAM. As your JIRA usage grows, a typical server will have a quad core 2 GHz CPU and 4 GB of RAM dedicated to the JIRA application.

For production deployment, as in most applications, it is recommended that you run JIRA on its own dedicated server. There are many factors that you should consider when deciding the extent of the resources to allocate to JIRA; keep in mind how JIRA will scale and grow. When deciding on your hardware needs, you should consider the following:

  • The number of active users in the system
  • The number of issues and projects in the system
  • The number of configuration items such as custom fields and workflows
  • The number of concurrent users, especially during peak hours

It can be difficult at times to estimate these figures. As a reference, a server running with over 2.0 GHz of dual/quad CPU and 2 GB of RAM will be sufficient for most instances with around 200 active users. If you start to get into thousands of active users, you will need to have at least 8 GB of RAM allocated to JIRA (JVM).

Officially, JIRA only supports x86 hardware and 64-bit derivatives of it. When running JIRA on a 64-bit system, you will be able to allocate more than 4 GB of memory to JIRA, the limit if you are using a 32-bit system. If you are planning to deploy a large instance, it is recommended that you use a 64-bit system.

Software requirements

JIRA has four requirements when it comes to software. It needs a supported operating system and a Java environment. It also needs an application server to host and serve its contents and a database to store all of its data. In the following sections, we will discuss each of these requirements and the options that you have to install and run JIRA. You can find the latest information online at https://confluence.atlassian.com/adminjiraserver071/supported-platforms-802592168.html.

Operating systems

JIRA supports most of the major operating systems, so the choice of which operating system to run JIRA on becomes a matter of expertise, comfort, and in most cases the existing organization's IT infrastructure and requirements.

The operating systems supported by Atlassian are Windows and Linux. There is a JIRA distribution for Mac OSX, but it is not officially supported. With both Windows and Linux, Atlassian provides an executable installer wizard package, which bundles all the necessary components to simplify the installation process (only available for standalone distribution).

There are minimal differences when it comes to installing, configuring, and maintaining JIRA on different operating systems. If you do not have any preferences and would like to keep the initial cost down, Linux is a good choice.

Java platforms

JIRA is a Java-based web application, so it needs to have a Java environment installed. This can be a Java Development Kit (JDK) or a Java Runtime Environment (JRE). The executable installer that comes with Windows or Linux contains the necessary files and will install and configure the JRE for you. However, if you want to use archive distributions, you will need to make sure that you have the required Java environment installed and configured.

JIRA 7 requires Java 8. If you run JIRA on an unsupported Java version, including its patch version, you may run into unexpected errors. The following table shows the supported Java versions for JIRA:

Java platforms

Support status

Oracle JDK/JRE

Java 8 (1.8)

Databases

JIRA stores all its data in a relational database. While you can run JIRA with HyperSQL Database (HSQLDB), the in-memory database that comes bundled with JIRA, it is prone to data corruption. You should only use this to set up a new instance quickly for evaluation purposes, where no important data will be stored. For this reason, it is important that you use a proper database such as MySQL for production systems.

Most relational databases available on the market today are supported by JIRA, and there are no differences when you install and configure JIRA. Just like operating systems, your choice of database will come down to your IT staff's expertise, experience, and established corporate standards. If you run Windows as your operating system, then you might probably want to go with the Microsoft SQL Server. On the other hand, if you run Linux, then you should consider Oracle (if you already have a license), MySQL, or PostgreSQL.

The following table summarizes the databases that are currently supported by JIRA. It is worth mentioning that both MySQL and PostgreSQL are open source products, so they are excellent options if you are looking to minimize your initial investments.

Database

Support status

MySQL

MySQL 5.1 and newer

This requires the latest JDBC driver

PostgreSQL

PostgreSQL 9.0 and newer

This requires the latest PostgreSQL driver

Microsoft SQL Server

SQL Server 2008 and newer

This requires latest JTDS driver

Oracle

Oracle 12C

This requires the latest Oracle driver

HSQLDB

This is bundled with the standalone distribution, for evaluation only

Take a special note of the driver requirement on each database, as some drivers that come bundled with the database vendor (for example, the SQL Server) are not supported.

Application servers

JIRA 7 officially only supports Apache Tomcat as the application server. While it is possible to deploy JIRA into other application servers, you will be doing this at your own risk, and it is not recommended.

The following table shows the versions of Tomcat supported by JIRA 7:

Application server

Support status

Apache Tomcat

Tomcat 8.0.17 and newer

By default, JIRA 7 ships with 8.0.17, so it is recommended that you use that version or newer.

Installation options

JIRA comes in two flavors: an executable installer and a ZIP archive. The executable installer provides a wizard-driven interface that will walk you through the entire installation process. It even comes with a Java installer to save you some time. The ZIP archive flavor contains everything except for a Java installer, which means you will have to install Java yourself. You will also need to perform some post-installation steps manually, such as installing JIRA as a service. However, you do get the advantage of learning what really goes on under the hood.

Installing and configuring JIRA

Now that you have a good understanding of the overall architecture of JIRA, the basic system requirements, and the various installation options, we are ready to deploy our own JIRA instances.

In the following exercise, we will be installing and configuring a fresh JIRA instance for a small production team. We will perform our installation on a Windows platform with a MySQL database server. If you are planning to use a different platform or database, refer to the vendor documentation on installing the required software for your platform.

In this exercise, you will do the following:

  • Install a fresh instance of JIRA Software
  • Connect JIRA to a MySQL database

We will continue to use this JIRA instance in our subsequent chapters and exercises as we build our help desk implementation.

For our deployment, we will use the following:

  • JIRA standalone distribution 7.1.8
  • MySQL 5.7.13
  • Microsoft Windows 7

Installing Java

Since we will be using the installer package with Java bundled, you can skip this section. However, if you are using the ZIP archive or WAR distribution, you need to make sure that you have Java installed on your system.

JIRA 7 requires JRE version 8 (1.8) or a newer run. You can verify the version of Java you have by running the following command in a Command Prompt:

java -version

The preceding command tells us which version of Java is running on your system, as shown in the following screenshot:

Installing Java

If you do not see a similar output, then chances are you do not have Java installed. You will need to perform the following steps to set up your Java environment. We will start by installing JDK on your system:

  1. Download the latest JDK from http://www.oracle.com/technetwork/java/javase/downloads/index.html.

    Note

    At the time of writing this, the latest version of Java 8 is JDK 8 Update 91.

  2. Double-click on the downloaded installation file to start the installation wizard.
  3. Select where you would like to install Java, or you can simply accept the default values. The location where you install JDK will be referred to as JAVA_HOME for the rest of this book.
  4. Create a new environment variable named JAVA_HOME with the value set to the full path of the location where you installed Java. You can do this as follows:
    1. Open the System Properties window by holding down your Windows key and pressing the  Pause key on your keyboard.
    2. Select the Advanced system settings option.
    3. Click on the Environment Variable button from the new popup.

      Installing Java

  5. Edit the PATH environment variable and append the following to the end of its current value:
            ;%JAVA_HOME%\bin 
    
  6. Test the installation by typing the following command in a new Command Prompt:
    java -version
    

This will display the version of Java installed, if everything is done correctly. In Windows, you have to start a new Command Prompt after you have added the environment variable to see the change.

Installing MySQL

The next step is to prepare an enterprise database for your JIRA installation. JIRA requires a fresh database. If, during the installation process, JIRA detects that the target database already contains any data, it will not proceed. If you already have a database system installed, then you may skip this section.

To install MySQL, simply perform the following steps:

  1. Download MySQL from http://dev.mysql.com/downloads, select MySQL Community Server, and then select the MSI installer for Windows.

    Note

    At the time of writing, the latest version of MySQL is 5.7.13.

  2. Double-click on the downloaded installation file to start the installation wizard.
  3. Click on Install MySQL Products on the welcome screen.
  4. Read and accept the license agreement and click on the Next button.
  5. Select the Server only option on the next screen. If you are an experienced database administrator, you can choose to customize your installation. Otherwise, just accept the default values for all subsequent screens.
  6. Configure the MySQL root user password. The username will be root. Do not lose this password, as we will be using it in the next section.
  7. Complete the configuration wizard by accepting the default values.

Preparing MySQL for JIRA

Now that you have MySQL installed, you need to first create a user for JIRA to connect MySQL with, and then create a fresh database for JIRA to store all its data:

  1. Start the MySQL Command Line Client by navigating to StartAll ProgramsMySQLMySQL Server 5.7MySQL 5.7 Command Line Client.
  2. Enter the MySQL root user password you set during installation.
  3. Use the following command to create a database:
    create database jiradb character set utf8;
    
  4. Here, we are creating a database called jiradb. You can name the database anything you like. As you will see later in this chapter, this name will be referenced when you connect JIRA to MySQL. We have also set the database to use UTF-8 character encoding, as this is a requirement for JIRA. Using the following command, you need to ensure that the database uses the InnoDB storage engine to avoid data corruption:
    grant all on jiradb.* to 'jirauser'@'localhost' 
            identified by 'jirauserpassword';
    

    We are doing several things here. First, we create a user called jirauser and assign the password jirauserpassword to him. You should change the username and password to something else.

    We have also granted all the privileges to the user for the jiradb database that we just created so that the user can perform database operations, such as create/drop tables and insert/delete data. If you have named your database something other than jiradb, then make sure that you change the command so that it uses the name of your database.

    This allows you to control the fact that only authorized users (specified in the preceding command) are able to access the JIRA database to ensure data security and integrity.

  5. To verify your setup, exit the current interactive session by issuing the following command:
    quit;
    
  6. Start a new interactive session with your newly created user:
    mysql -u jirauser -p
    
  7. You will be prompted for a password, which you have set up in the preceding command as jirauser.
  8. Use the following command:
    show databases;
    

    This will list all the databases that are currently accessible by the logged-in user. You should see jiradb among the list of databases.

  9. Examine the jiradb database by issuing the following commands:
    use jiradb;
    show tables;
    

    The first command connects you to the jiradb database, so all of your subsequent commands will be executed against the correct database.

    The second command lists all the tables that exist in the jiradb database. Right now, the list should be empty, since no tables have been created for JIRA; but don't worry, as soon as we connect to JIRA, all the tables will automatically be created.

Installing JIRA

With the Java environment and database prepared, you can now move on to install JIRA. Normally, there are only two steps:

  1. Download and install the JIRA application.
  2. Run through the JIRA setup wizard.

Obtaining and installing JIRA

The first step is to download the latest stable release of JIRA. You can download Atlassian JIRA from http://www.atlassian.com/software/jira/download.

The Atlassian website will detect the operating system you are using and automatically suggest an installation package for you to download. If you intend to install JIRA on a different operating system from the one you are currently on, make sure that you select the correct operating system package.

As mentioned earlier, with Windows there is a Windows installer package and a self-extracting ZIP package. For the purpose of this exercise, we will use the installer package (Windows 64-bit Installer):

  1. Double-click on the downloaded installation file to start the installation wizard and click on the Next button to continue.

    Obtaining and installing JIRA

  2. Select the Custom Install option and click on the Next button to continue. Using the custom installation will let us decide where to install JIRA and will also provide many configuration options.

    Obtaining and installing JIRA

  3. Select the directory where JIRA will be installed. This will become the JIRA_INSTALL directory. Click on the Next button to continue.

    Obtaining and installing JIRA

  4. Select where JIRA will store its data files, such as attachments and log files. This will become the JIRA_HOME directory. Click on the Next button to continue.

    Obtaining and installing JIRA

  5. Select where you would like to create shortcuts to the start menu and click on the Next button to continue.
  6. In the Configure TCP Ports step, we need to select the port on which JIRA will be listening for incoming connections. By default, JIRA will run on port 8080. If 8080 is already taken by another application or if you want JIRA to run on a different port such as port 80, select the Set custom value for HTTP and Control ports option and specify the port numbers you want to use. Click on the Next button to continue.

    Obtaining and installing JIRA

  7. Select whether you would like JIRA to run as a service. If you enable this option, JIRA will be installed as a system service and can be configured to start automatically with the server; see the Starting and stopping JIRA section for more details.
  8. For the last step, review all the installation options and click on the Install button to start the installation.

    Obtaining and installing JIRA

  9. Once the installation is complete, check the Launch JIRA Software in browser option and click on Finish. This will close the installation wizard and open up your web browser to access JIRA. This might take a few minutes to load as JIRA starts up for the first time.

    Obtaining and installing JIRA

    Note

    Since we need to install the MySQL database driver for JIRA, we are launching JIRA in the browser now to verify that the installation was successful.

Installing MySQL driver

JIRA does not come bundled with the MySQL database driver, so we have to install it manually. You can download the required driver from http://dev.mysql.com/downloads/connector/j/. Once downloaded, you can install the driver by copying the driver JAR file into the JIRA_INSTALL/lib directory. After that, you need to restart JIRA. If you have installed JIRA as a Windows service in step 9, refer to the Starting and stopping JIRA section.

Note

Make sure that you select the Platform Independent option and download the JAR or TAR archive.

The JIRA setup wizard

JIRA comes with an easy-to-use setup wizard that will walk you through the installation and configuration process in six simple steps. You will be able to configure the database connections, default language, and much more. You can access the wizard by opening http://localhost:<port number> in your browser, where the <port number> is the number you have assigned to JIRA in step 6 of the installation.

In the first step of the wizard, we need to select how we want JIRA to be set up. Since we are installing JIRA for production use, we will select the I'll set it up myself option.

The JIRA setup wizard

For the second step, we will need to select the database we want to use. This is where we configure JIRA to use the MySQL database we have created earlier in this chapter. If you select the Built In option, JIRA will use its bundled in-memory database, which is good for evaluation purposes. If you want to use a proper database, such as in our case, you should select the My Own Database option.

The JIRA setup wizard

Note

The Built In option is great to get JIRA up and running quickly for evaluation purposes.

After you have selected the My Own Database option, the wizard will expand for you to provide the database connection details. If you do not have the necessary database driver installed, JIRA will prompt you for it, as shown in the preceding screenshot.

Once you have filled in the details for your database, it is a good idea to first click on the Test Connection button to verify that JIRA is able to connect to the database. If everything is set up correctly, JIRA will report a success message. You should be able to move onto the next step by clicking on the Next button. This may take a few minutes, as JIRA will now create all the necessary database objects. Once this is done, you will be taken to step 3 of the wizard.

In the third step, you will need to provide some basic details about this JIRA instance. Once you have filled in the required fields, click on Next to move on to step 4 of the wizard.

The JIRA setup wizard

In the fourth step, we need to provide a license key for JIRA. If you have already obtained a license from Atlassian, you can paste it into the Your License Key text box. If you do not have a license, you can generate an evaluation license by clicking on the generate a JIRA trial license link. The evaluation license will grant you access to JIRA's full set of features for one month. After the evaluation period ends, you will lose the ability to create new issues, but you can still access your data.

The JIRA setup wizard

In the fifth step, you will be setting up the administrator account for JIRA. It is important that you keep the account details somewhere safe and do not lose the password. Since JIRA only stores the hashed value of the password instead of the actual password itself, you will not be able to retrieve it. Fill in the administrator account details and click on Next to move on to the sixth step.

The JIRA setup wizard

Tip

This account is important and it can help you troubleshoot and fix problems later on. Do not lose it!

In the sixth step, you can set up your e-mail server details. JIRA will use the information configured here to send out notification e-mails. Notification is a very powerful feature in JIRA and one of the primary methods by which, JIRA communicates with users. If you do not have your e-mail server information handy, you can skip this step now by selecting the Later option and clicking on Finish. You can configure your e-mail server settings later, as you will see in Chapter 7E-mails and Notifications.

The JIRA setup wizard

Congratulations! You have successfully completed your JIRA setup. JIRA will then ask you to configure your new account, such as the default language and profile picture. Follow the onscreen prompts to set up your account, and once you are done, you should be presented with the JIRA dashboard, as shown in the following screenshot:

The JIRA setup wizard

Starting and stopping JIRA

Since JIRA is installed as a Windows service, you can start, stop, and restart it via the Windows services console by navigating to StartControl PanelAdministrative ToolsServices. In the services console, look for Atlassian JIRA, and you will be able to stop and start the application, as shown in the following screenshot:

Starting and stopping JIRA

Post-installation configurations

The post-installation configuration steps are optional, depending on your needs and environment. If you set up JIRA for evaluation purposes, you probably do not need to perform any of the following steps, but it is always a good practice to be familiar with these as a reference.

Note

You will need to restart JIRA after making the changes discussed in the next section.

Increasing JIRA's memory

The default memory setting for JIRA is usually sufficient for a small to medium-sized deployment. As JIRA's adoption rate increases, you will find that the amount of memory allocated by default is no longer enough. If JIRA is running as a Windows service, as we described in this chapter, you can increase the memory as follows:

  1. Find the JIRA Windows service name. You can do this by going to the Windows services console and double-clicking on the Atlassian JIRA service. The service name will be the part after //RS// in the Path to executable field, for example, JIRA150215215627.
  2. Open a new Command Prompt and change the current working directory to the JIRA_INSTALL/bin directory.
  3. Run the following command by substituting the actual service name for JIRA:
    tomcat7w //ES//<JIRA Windows service name>
    
  4. Select the Java tab, update the Initial memory pool and Maximum memory pool sizes, and click on OK.

    Increasing JIRA's memory

  5. Restart JIRA to apply the change.

If you are not running JIRA as a Windows service, you need to open the setenv.bat file (for Windows) or the setenv.sh (for Linux) file in the JIRA_INSTALL/bin directory. Then, locate the following lines:

set JVM_MINIMUM_MEMORY="384m" 
set JVM_MAXIMUM_MEMORY="768m" 

Change the value for the two parameters and restart JIRA. Normally, 4 GB (4096m) of memory is enough to support a fairly large instance of JIRA used by hundreds of users.

Tip

Make sure that you have enough physical RAM available before allocating instances to JIRA.

Changing JIRA's port number and context path

As part of the installation process, the installation wizard prompted us to decide which port JIRA should listen to for incoming connections. If you have accepted the default value, it is port 8080. You can change the port setting by locating and opening the server.xml file in a text editor in the JIRA_INSTALL/conf directory. Let's examine the relevant contents of this file:

<Server port="8005" shutdown="SHUTDOWN"> 

This line specifies the port for the command to shutdown JIRA/Tomcat. By default, it is port 8005. If you already have an application that is running on that port (usually another Tomcat instance), you need to change this to a different port:

<Connector port="8080" protocol="HTTP/1.1"> 

This line specifies which port JIRA/Tomcat will be running on. By default, it is port 8080. If you already have an application that is running on that port, or if the port is unavailable for some reason, you need to change it to another available port:

<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true"> 

This line allows you to specify the context that JIRA will be running under. By default, the value is empty, which means JIRA will be accessible from http://hostname:portnumber. If you decide to specify a context, the URL will be http://hostname:portnumber/context. In our example here, JIRA will be accessible from http://localhost:8080/jira.

Configuring HTTPS

By default, JIRA runs with a standard, non-encrypted HTTP protocol. This is acceptable if you are running JIRA in a secured environment, such as an internal network. However, if you plan to open up access to JIRA over the Internet, you will need to tighten up the security by encrypting sensitive data, such as usernames and passwords that are being sent, by enabling HTTPS (HTTP over SSL).

For a standalone installation, you will need to perform the following tasks:

  1. Obtain and install a certificate.
  2. Enable HTTPS on your application server (Tomcat).
  3. Redirect traffic to HTTPS.

First, you need to get a digital certificate. This can be obtained from a certification authority, such as VeriSign (CA certificate), or a self-signed certificate generated by you. A CA certificate will not only encrypt data for you, but also identify your copy of JIRA to the users. A self-signed certificate is useful when you do not have a valid CA certificate and you are only interested in setting up HTTPS for encryption. Since a self-signed certificate is not signed by a certification authority, it is unable to identify your site to the public and users will be prompted with a warning that the site is untrusted when they first visit it. However, for evaluation purposes, a self-signed certificate will suffice until you can get a proper CA certificate.

For the purpose of this exercise, we will create a self-signed certificate to illustrate the complete process. If you have a CA certificate, you can skip the following steps.

Java comes with a handy tool for certificate management, called keytool, which can be found in the JIRA_HOME\jre\bin directory if you are using the installer package. If you are using your own Java installation, then you can find it in JAVA_HOME\bin.

To generate a self-signed certificate, run the following commands from a Command Prompt:

keytool -genkey -alias tomcat -keyalg RSA
keytool -export -alias tomcat -file file.cer

This will create a keystore (if one does not already exist) and export the self-signed certificate (file.cer). When you run the first command, you will be asked to set the password for the keystore and Tomcat. You need to use the same password for both. The default password is changeit. You can specify a different password of your choice, but you then have to let JIRA/Tomcat know, as we will see later.

Now that you have your certificate ready, you need to import it into your trust store for Tomcat to use. Again, you will use the keytool application in Java:

    keytool -import -alias tomcat -file file.cer
JIRA_HOME\jre\lib\security\cacerts

This will import the certificate into your trust store, which can be used by JIRA/Tomcat to set up HTTPS.

To enable HTTPS on Tomcat, open the server.xml file in a text editor from the JIRA_INSTALL/conf directory. Locate the following configuration snippet:

<Connector port="8443" maxHttpHeaderSize="8192" SSLEnabled="true" 
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
enableLookups="false" disableUploadTimeout="true" 
acceptCount="100" scheme="https" secure="true" 
clientAuth="false" sslProtocol="TLS"     useBodyEncodingForURI="true"/> 

This enables HTTPS for JIRA/Tomcat on port 8443. If you have selected a different password for your keystore, you will have to add the following line to the end of the preceding snippet before the closing tag:

keystorePass="<password value>" 

The last step is to set up JIRA so that it automatically redirects from a non-HTTP request to an HTTPS request. Find and open the web.xml file in the JIRA_INSTALL/atlassian-jira/WEB-INF directory. Then, add the following snippet to the end of the file before the closing </web-app> tag:

<security-constraint> 
  <web-resource-collection> 
    <web-resource-name>all-except-attachments</web-resource-name> 
    <url-pattern>*.js</url-pattern> 
    <url-pattern>*.jsp</url-pattern> 
    <url-pattern>*.jspa</url-pattern> 
    <url-pattern>*.css</url-pattern> 
    <url-pattern>/browse/*</url-pattern> 
  </web-resource-collection> 
  <user-data-constraint> 
    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
  </user-data-constraint> 
</security-constraint> 

Now, when you access JIRA with a normal HTTP URL, such as http://localhost:8080/jira, you will be automatically redirected to its HTTPS equivalent, https://localhost:8443/jira.

Summary

JIRA is a powerful yet simple application as reflected in its straightforward installation procedures. You have a wide variety of options to choose how you would like to install and configure your copy. You can mix-and-match different aspects, such as operating systems and databases, to best suit your requirements. The best part is that you can have a setup that consists entirely of open source software, which will bring down the cost and provide you with a reliable infrastructure at the same time.

In the next chapter, we will start to explore various aspects of JIRA. The following chapters, starting with projects, will talk about key concepts in any JIRA installation.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Updated for JIRA 7, this book covers all the new features introduced in JIRA 7 with a dedicated chapter on JIRA Service Desk—one of the biggest new add-ons to JIRA
  • This book lays a strong foundation to work with agile projects in JIRA from both the administrator and end user's perspective
  • Work through step-by-step exercises at the end of each chapter for you to try out and reinforce your skills

Description

Atlassian JIRA is an enterprise-issue tracker system. One of its key strengths is its ability to adapt to the needs of the organization, ranging from building Atlassian application interfaces to providing a platform for add-ons to extend JIRA's capabilities. JIRA 7 Essentials, now in its fourth edition, provides a comprehensive explanation covering all major components of JIRA 7, which includes JIRA Software, JIRA Core, and JIRA Service Works. The book starts by explaining how to plan and set up a new JIRA 7 instance from scratch for production use before moving on to the more key features such as e-mails, workflows, business processes, and so on. Then you will understand JIRA's data hierarchy and how to design and work with projects in JIRA. Issues being the corner stone of using JIRA, you will gain a deep understanding of issues and their purpose. Then you will be introduced to fields and how to use custom fields for more effective data collections. You will then learn to create new screens from scratch and customize it to suit your needs. The book then covers workflows and business processes, and you will also be able to set up both incoming and outgoing mail servers to work with e-mails. Towards the end, we explain JIRA's security model and introduce you to one of JIRA’s new add-ons: JIRA Service Desk, which allows you to run JIRA as a computer support portal.

Who is this book for?

This book will be especially useful for project managers but it's also intended for other JIRA users, including developers, and any other industry besides software development, who would like to leverage JIRA’s powerful task management and workflow features to better manage their business processes.

What you will learn

  • Understand JIRA s data hierarchy and how to design and work with projects in JIRA
  • Plan and set up a new JIRA 7 instance from scratch for production use
  • Using JIRA for agile software projects, business process management, customer service support, and more
  • Understand issues and work with them
  • Design both system and custom fields to behave differently under different contexts
  • Create and design your own screens and apply them to different project and issue types
  • Gain an understanding of the workflow and its various components
  • Set up both incoming and outgoing mail servers to work with e-mails
Estimated delivery fee Deliver to Philippines

Standard delivery 10 - 13 business days

₱492.95

Premium delivery 5 - 8 business days

₱2548.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Nov 23, 2016
Length: 398 pages
Edition : 4th
Language : English
ISBN-13 : 9781786462510
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Philippines

Standard delivery 10 - 13 business days

₱492.95

Premium delivery 5 - 8 business days

₱2548.95
(Includes tracking information)

Product Details

Publication date : Nov 23, 2016
Length: 398 pages
Edition : 4th
Language : English
ISBN-13 : 9781786462510
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₱260 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just ₱260 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 8,675.97
JIRA 7 Essentials
₱3367.99
Mastering JIRA 7
₱2500.99
JIRA 7 Administration Cookbook
₱2806.99
Total 8,675.97 Stars icon
Banner background image

Table of Contents

11 Chapters
1. Getting Started with JIRA Chevron down icon Chevron up icon
2. Using JIRA for Business Projects Chevron down icon Chevron up icon
3. Using JIRA for Agile Projects Chevron down icon Chevron up icon
4. Issue Management Chevron down icon Chevron up icon
5. Field Management Chevron down icon Chevron up icon
6. Screen Management Chevron down icon Chevron up icon
7. Workflow and Business Process Chevron down icon Chevron up icon
8. E-mails and Notifications Chevron down icon Chevron up icon
9. Securing JIRA Chevron down icon Chevron up icon
10. Searching, Reporting, and Analysis Chevron down icon Chevron up icon
11. JIRA Service Desk Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(1 Ratings)
5 star 0%
4 star 100%
3 star 0%
2 star 0%
1 star 0%
mctamazon Aug 16, 2018
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
I have only beginner level knowledge of the product, but it looks like a good overview
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact [email protected] with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at [email protected] using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on [email protected] with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on [email protected] within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on [email protected] who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on [email protected] within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela