This document describes how to perform any of the following:
- migrate/upgrade to JIRA 4.4.xon different server hardware or in a different server environment — for example:
- a new operating system that will run JIRA,
- new locations for storing your index and/or attachments, or
- a new database or database system that will store JIRA's data.
- upgrade to JIRA 4.4.x from a version of JIRA prior to 4.0.0.
If you are already using:
- JIRA Standalone version 4.3.0 or later on Linux or Windows, please note the recommended procedure (see Upgrading JIRA) for upgrading to JIRA 4.4.x.
- JIRA Standalone version 4.0.0 – 4.2.x (or 4.3.x on Solaris) or JIRA WAR version 4.0.0 or later, please note the manual procedure (see Upgrading JIRA Manually) for upgrading to JIRA 4.4.x.
Please read/perform all steps and sub-steps in consecutive order.
1. Before You Start
- You will need current software maintenance to perform the upgrade. If you are unsure, confirm the following:
- Read the release notes and upgrade guide for the version of JIRA you are upgrading to. The upgrade guide (in particular) contains important information that may be relevant to your JIRA installation.
- If you plan to skip a few JIRA versions for your next JIRA upgrade, we strongly recommend that you read the upgrade guides for all major versions between your current version and the version to which you are upgrading. Refer to Important Version-Specific Upgrade Notes for quick links to these guides.
- Confirm that your operating system, database, other applicable platforms and hardware still comply with the requirements for JIRA 4.4.x. Newer versions of JIRA may have different requirements and supported platforms to previous JIRA versions.
The End of Support Announcements for JIRA page also has important information regarding platform support for future versions of JIRA. - Some anti-virus or other Internet security tools may interfere with the JIRA upgrade process and prevent the process from completing successfully. If you experience or anticipate experiencing such an issue with your anti-virus/Internet security tool, disable this tool first before proceeding with the JIRA upgrade.
- Check for any known issues in the JIRA Knowledge Base.
- If you have installed any additional JIRA plugins (i.e. not included with JIRA), please verify that they will be compatible with the version of JIRA you are upgrading to. You can find a plugin's compatibility information from the the plugin's home page on the Atlassian Plugin Exchange. Once you have confirmed the availability of compatible versions, you should upgrade your plugins after successfully upgrading JIRA. This can be done via the 'Plugin Repository' in your Administration Console.
- Test first!— We strongly recommend performing your upgrade in a test environment first. Do not upgrade your production JIRA server until you are satisfied that your test environment upgrade has been successful.
- If you have any problems with your test environment upgrade which you cannot resolve, create an issue at our support site so that we can assist you.
- If you have any problems during the upgrade of your production JIRA server, do not allow your users to start using this server. Instead:
- Continue to use your old JIRA server — this will help ensure that you do not lose production data.
- Also create an issue at our support site so that we can help you resolve the problems with production JIRA upgrade.
2. Backing Up
Before you begin the JIRA upgrade, we strongly recommend that you back up your existing JIRA installation.
2.1 Ensure that users cannot update your existing JIRA data
In subsequent steps, you will be required to export JIRA's database from your existing JIRA installation (via an XML backup) and later restore this backup into a new JIRA installation. To ensure that data consistency in your XML backup is maintained, you must prevent users from updating your existing JIRA data by temporarily restricting access to JIRA. Refer to the Preventing users from accessing JIRA during backups page for more information. (To access this page in the documentation for another version of JIRA, click the documentation link for your version of JIRA at the top of the left Table of Contents column and use the search box below to find this page.)
Be aware! Inconsistent XML backups cannot be restored!
2.2 Back up your database
Perform an XML backup of your existing JIRA installation's external database.
- For large (corporate) JIRA installations, this process may require several hours to complete.
- The 'embedded database' is the HSQLDB database supplied with JIRA for evaluation purposes only. If you happen to accidentally use the HSQLDB database in a production system, perform an XML backup of this database and continue on with this procedure.
2.3 Back up your JIRA Home directory
Ensure JIRA is shut down before continuing.
The location of this directory is defined within the jira-application.properties
configuration file, which is located inside the <jira-application-dir>/WEB-INF/classes
directory within your JIRA Installation Directory.
2.4 Back up your attachments and index directories if located outside your JIRA Home directory
Your attachments and index directories may be located outside your JIRA Home Directory. If so, they will also need to be backed up. To confirm the location of:
- Your attachments directory — refer to Configuring File Attachments page in the documentation for your version of JIRA.
- Your index directory — refer to Search Indexing page in the documentation for your version of JIRA.
To access these pages, click the documentation link for your version of JIRA at the top of the left Table of Contents column and use the search box below to find either the 'Configuring File Attachments' or 'Search Indexing' page.
Also refer to Backing Up Data for more information about backing up attachments in JIRA.
2.5 Back up your JIRA Installation directory
The 'JIRA Installation Directory' is the directory into which the JIRA application files and libraries were extracted when JIRA was installed.
3. Setting up your New JIRA Installation
3.1 Install the new version of JIRA
First, you must start with a fresh installation of your new JIRA version.
Download and extract the JIRA distribution you require, to a new directory. Do not overwrite your existing JIRA installation. Ensure this has been shut down and install the new JIRA version to a new location.
Follow the installation instructions for either:
If you are using JIRA WAR, remember to build your new JIRA web application and deploy it to your server. For specific instructions, refer to the JIRA WAR installation page for your application server within the Installing JIRA WAR section.
3.2 Point your new JIRA to (a copy of) your existing JIRA Home directory
If your new JIRA 4.4.x installation is on a new server, copy your existing JIRA Home Directory from the old server to the new server before proceeding.
If your new JIRA 4.4.x installation is a Standalone distribution, you can:
- Open the JIRA Configuration Tool.
- Click the 'JIRA Home' tab.
- Update the 'JIRA Home Directory' field as follows:
- If your JIRA 4.4.x installation is on a new server, update the 'JIRA Home Directory' field to the path of your copied JIRA Home directory.
- If your JIRA 4.4.x installation is on the same server, update the 'JIRA Home Directory' field to the path of your existing JIRA Home directory.
For more information about this directory, see JIRA Home Directory.
Otherwise:
- Edit the
jira-application.properties
file located within the <jira-application-dir>/WEB-INF/classes
subdirectory of your new JIRA 4.4.x Installation Directory JIRA Installation Directory. - Update the
jira.home
property in this file to the path of the new JIRA Home Directory:- If your JIRA 4.4.x installation is on a new server, update the
jira.home
property to the path of your copied JIRA Home directory. - If your JIRA 4.4.x installation is on the same server, update the
jira.home
property to the path of your existing JIRA Home directory.
For more information about this directory, see JIRA Home Directory.
- Remove the '#' at the beginning of this line (so that JIRA no longer regards this line as a comment).
- Save your updated
jira-application.properties
file.
You can also set your JIRA Home Directory's location by defining an operating system environment variable JIRA_HOME
. This value of this variable takes precendence over the value of the jira.home
property in the jira-application.properties
file in your JIRA Installation Directory. See Setting your JIRA Home Directory for details.
3.3 Connect the new version of JIRA to a new, empty database
You need to create a new, empty database that your new JIRA installation will use to store its data.
Follow the appropriate 'Connecting JIRA to...' instructions for your database from stage 2, although from stage 4 of that procedure, be aware of the yellow note below:
You do not need to create a new database if you are using the embedded HSQL database.
3.4 Migrate your existing JIRA configurations over to your new JIRA installation
You may have modified a number of properties within configuration files of your existing JIRA installation.
If so, you need to make the same modifications in your new JIRA installation. However, do not simply copy configuration files from your existing JIRA installation and replace the equivalent files in your new JIRA installation, since the properties in these files may have changed from the old version.
For each file you have modified in your existing JIRA installation, you need to manually edit each equivalent file in your new JIRA installation and re-apply your modifications. If a file is not present in your new JIRA installation (for example, osuser.xml
in recent JIRA versions), then simply copy that file over to your new JIRA installation.
The table below lists the most commonly modified files and their locations within your JIRA Installation Directory:
File | JIRA Standalone location | JIRA WAR location | Description |
jira-application.properties | atlassian-jira/WEB-INF/classes
| webapp/WEB-INF/classes
| Location of the JIRA Home Directory and Advanced JIRA Configuration in JIRA 4.3.x and earlier. Any custom property values defined in the jira-application.properties file of your existing JIRA 4.3.x (or earlier) installation must be migrated across to the jira-application.properties file of your new JIRA 4.4.x installation before you start your new JIRA installation. Upon starting your new JIRA installation, any custom property values in the jira-application.properties file will automatically be migrated across to either the JIRA database or jira-config.properties file. jira.home is the only property of the jira-application.properties file subsequently used by JIRA. |
setenv.bat (Windows) or setenv.sh (Linux) | bin
| Application Server's bin directory | Increasing JIRA Memory |
osuser.xml (not required if upgrading from JIRA 4.3.0 or later) | atlassian-jira/WEB-INF/classes
| webapp/WEB-INF/classes
| Modified if you have integrated LDAP with JIRA, integrated Crowd with JIRA, or if you are using a custom form of external user management or user authentication. |
seraph-config.xml | atlassian-jira/WEB-INF/classes
| webapp/WEB-INF/classes
| Modified if you have integrated Crowd with JIRA. |
server.xml | conf
| Application Server's conf directory | Modified in the following situations: |
The version-specific upgrade notes contain details on properties which may have changed in these commonly modified files.
In addition to the files above, you should also consider and/or perform the following configurations as part of the upgrade process:
- Using JIRA with Atlassian's Crowd? — If you are using Crowd with JIRA, configure your new JIRA to talk to Crowd as described in Integrating Crowd with JIRA.
- Allocating additional memory to JIRA — If you had previously allocated additional memory to JIRA, do the same for your new JIRA instance. For more information refer to Increasing JIRA memory.
- Plugins — For any plugins that you had installed in your old JIRA, download the plugin version for your new version of JIRA from the http://plugins.atlassian.com site.
- Character encoding — Please ensure that character encoding (ie. locale) is the same on the new and old locations. You may have problems with encoding of the file names, if attachments are moved between two system with incompatible encoding.
Your new version of JIRA may not function correctly or could encounter problems or errors if these are not implemented. - Customisations — If you had made any customisations (code, templates or configuration files), copy over compatible versions of these changes to the new JIRA. (The developers within your organisation who made the customisations to your old version will need to build and test equivalent changes for the new version, and provide you with the files to copy to your upgraded JIRA installation).
- (Optional) Disabling Email Access — If you need to perform some initial tests on your new JIRA installation, you can disable its email access to prevent unintended emails being sent during testing. Be sure to re-enable email access once any testing is complete.
- (Optional) Running JIRA on a different port — If your new JIRA is installed on the same machine as your old JIRA, you may wish to make sure it runs on a different port (in case you ever need to restart your old JIRA). See Changing JIRA's TCP Ports for details.
3.5 Start your new version of JIRA
- Verify that your old JIRA installation is shut down — if this JIRA server is still operating, shut it down.
- If you installed the JIRA WAR distribution within Tomcat, delete the Tomcat work directory before restarting JIRA. If you do not do this, users may encounter errors when they try to display JIRA pages.
- Start up your new version of JIRA. For:
- JIRA Standalone — follow the Starting JIRA instructions.
- JIRA WAR — follow the instructions for starting JIRA for your application server within the Installing JIRA WAR section.
During the startup process, your new JIRA installation will create any required database indexes. If you created any custom database indexes, please check them afterwards and remove any that duplicate the indexes added by JIRA.
3.6 Import your old JIRA data into your new JIRA
After you have successfully started your new JIRA installation, you will need to import the data from your old instance into the new instance. You will need the backup file of data from your old JIRA that you created earlier in these instructions (above).
To import your old JIRA data into your new JIRA,
- Access JIRA via your web browser. You will see the Setup Wizard.
- Click the 'import your existing data' link.
- The 'Import Existing Data' page will be displayed.
- In the 'File name' field, specify the XML backup file you created previously.
- Restore the attachments directory that you backed up previously, into the attachments directory of your new JIRA. (See Restoring Data.)
It is recommended that you avoid passing through a proxy when performing an XML restore, especially if your JIRA instance is very large. Using a proxy may cause timeout errors. - Access JIRA via your web browser again and log in using a username from your previous JIRA installation.
- Take a quick look around your JIRA site to confirm that your projects and issues are present and everything looks normal. You should see the new JIRA version number in the page footer.
4. Post Upgrade Checks and Tasks
It is strongly recommended that you perform the following checks and tasks after you have started your new instance of JIRA:
- Check your server logs for error messages, even if JIRA appears to be running correctly. If there are any errors there that you cannot resolve, create a support case in https://support.atlassian.com, attach your log file and we will advise you on the errors.
- If you were previously using External User Management, enable it in the new JIRA instance.
- If you changed machines when upgrading, change the paths to the indexes, attachments and backup directories, from within the Administration section of JIRA.
- Enable email, if you disabled it during testing.
- If you migrated any customisations from your old JIRA to the new JIRA, ensure that they are tested thoroughly.
- If you had downloaded plugins for the new version of JIRA, install the downloaded JAR file(s) in your new JIRA version and carry out any other required installation for the plugin.
- If the plugin has a properties file, apply the same changes to it as you had in the old properties file (don't just copy over the old properties file).
Congratulations! You have completed your JIRA migration/upgrade.
See Also
Disabling Auto-Export
Restoring Data
Upgrading JIRA
Switching Application Servers to Apache Tomcat
Switching Databases