Migrating from Jira Cloud to Server applications

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

This page is about moving data from Jira Cloud to Jira Server. If you want to migrate from Jira Server to Jira Cloud, check out our migration resources.

Jira Cloud is typically ahead of Jira Server, which means that some features may not be available after you've moved to Jira Server.  

If you want to move a project, not your entire site, see Restoring a project from backup.

Limitations

Jira Cloud applications are regularly updated with the latest features and improvements, which means they are a later version than the latest downloadable version of Jira applications. If you want to migrate from Jira Cloud applications to Jira Server applications, be aware of the following limitations.

Feature loss

Jira Cloud typically contains features that are not yet released in the latest version of Jira Server.

Password reset

Your Jira Cloud users will need to reset their passwords before they can log in to the new Jira Server instance. 

Jira application licenses

Your Atlassian Cloud license can't be used in an instance installed from Jira Server applications. You'll need to generate a new Jira Server application license from https://my.atlassian.com.

You can reuse your licenses for plugins in your instance installed from Jira Server applications. The licenses for Atlassian plugins and Gliffy for Jira applications can be viewed on https://my.atlassian.com. For all other third-party plugins, contact the third-party vendor for a license.

User avatars

Due to recent changes that took place in Cloud, User avatars now reside in id.atlassian.com. They are not included in the Cloud backup and, therefore, cannot be migrated to JIRA Server.

Migrating other Cloud applications

The instructions on this page only apply to Jira applications. If you are migrating other Cloud applications (e.g. Confluence Cloud to an instance installed from Confluence Server), see this page: Backing up and exporting data.

Note, if you are migrating Jira Cloud applications and other applications (e.g. Confluence Cloud) to an instance hosted on your own servers, you'll lose integration features that are native to Cloud. These can be re-enabled by configuring application links between your applications. See Link to other applications for instructions. Contact support if you need assistance.

Get more details of the differences between Jira Cloud and Jira Server

Migrating to Jira Server

1. Back up

Back up your Jira Cloud application data.

  1. Log in to Jira Cloud as an administrator.

  2. Create an XML backup. For more info, see Exporting issues from Cloud to Server. Note that the export process will strip your cloud application and plugin licenses out of the XML, so the licenses will remain available in your Jira Cloud site but not in your Server instance.

2. Download the latest version of installer

Download the installer for your operating system – Jira CoreJira Software, or Jira Service Desk

3. Install Jira Server

Install your Jira applications. For detailed instructions, refer to Installing Jira applications.

Note that during the installation, you will be asked if you have existing data. This is where you can import your XML backup, as described in the next step.

4. Import your data from Jira Cloud into Jira Server

To ensure that your data is migrated correctly, you need to set your server’s timezone or the Java Virtual Machine (JVM) timezone to Coordinated Universal Time (UTC). Learn how to set the timezone for the Java Environment

In step 2 of the setup wizard (Application Properties), you'll be asked whether you have existing data. Click Import your existing data, and follow instructions to import your XML backup.

When importing, you might see a warning that you're importing data from an earlier Jira version. You can ignore it and continue with the import.

If your backup is 2GB or more, import the attachments separately

For large backups, we recommend that you import the attachments separately. To do this:

  1. Unzip the backup file.
    If you're using the unzip utility in Linux, before extracting the backup file, set the UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE environment variable to prevent errors resulting from attempting to extract large archives. Alternatively (or if you're using Windows), use the 7-zip utility.

  2. Compress the activeobjects.xml and the entities.xml files only.

  3. Import the compressed file in the setup wizard, as described above.

  4. Copy the contents of the attachments directory into the <home-directory>/data/attachments  directory for Jira Server.

After the migration

5. Change the admin password

  1. Log in to your new Jira application, using the following credentials: 

    • Username: sysadmin

    • Password: sysadmin

  2. Change the password immediately after logging in.

6. Check which apps you have in Cloud

Any app that you are currently using with Jira Cloud application will need to be installed in your Jira application installation. For example, Gliffy, Tempo, etc. 

In the upper-right corner of the screen, select Administration  > Manage apps.
 The 'Find apps' screen shows apps available via the Atlassian Marketplace. Choose Manage apps to view the apps currently installed on your Jira applications. Choose Manage apps and note the apps listed under the User-installed Apps section. You will need to note the app names and versions.

7. Install your app in Jira Server

For each app that you noted in the previous step, install it in your Jira applications. Make sure to install the latest version of the app. Atlassian does not provide support for data that is downgraded as a result of installing an older version of an app.

See Managing Apps for instructions on how to install an app. You will need to manually add the app license keys.

8. Install the Cloud compatibility for Jira app or run scripts

After you migrate from Cloud to Server, it might happen that user mentions are shown as AccountID rather than username. This is a known GDPR-related issue. To fix it, you can either use the Cloud compatibility for Jira app or run update scripts in your database.

The app is a quicker solution however it is a temporary one because it only fixes the UI side of things and replaces accountIds from Jira Cloud with more user-friendly text in wiki markup fields. However, you can consider it if you want a quick fix and do not have time to test the scripts in your environment This app is compatible with Jira Server 8.0 and later.

  1. In your Jira Server instance, go to Jira Administration > Manage apps > Find new apps.

  2. Search for Cloud Compatibility for Jira.

  3. Install the app. 

To permanently resolve the problem, run the update scripts in your database. Make sure that you run the scripts in your test environment first, and create a DB backup. 

PostgreSQL:

SELECT ('UPDATE jiraaction SET actionbody = replace(actionbody, ''accountid:' || cu.external_id || ''', ''' || cu.lower_user_name || ''') WHERE actionbody LIKE ''%[~accountid:' || cu.external_id || ']%'';') as "Queries to fix" FROM cwd_user cu WHERE cu.external_id IS NOT NULL; 

MySQL:

SELECT (CONCAT('UPDATE jiraaction SET actionbody = replace(actionbody, ''accountid:' , ifnull(cu.external_id, '') , ''', ''' , ifnull(cu.lower_user_name, '') , ''') WHERE actionbody LIKE ''%[~accountid:' , ifnull(cu.external_id, '') , ']%'';')) as "Queries to fix" FROM cwd_user cu WHERE cu.external_id IS NOT NULL; 

MS SQL:

SELECT (((((('UPDATE jiraschema.jiraaction SET actionbody =  CAST(REPLACE(CAST(actionbody as NVarchar(MAX)), ''accountid:' + cast(cu.external_id as varchar(max))) + ''', ''') + cast(cu.lower_user_name as varchar(max))) + ''') AS NText) WHERE actionbody LIKE ''%[[]~accountid:') + cast(cu.external_id as varchar(max))) + ']%'';') [Queries to fix] FROM jiraschema.cwd_user cu WHERE cu.external_id IS NOT NULL; 

9. Reset the passwords for your users

After you finish migrating from Jira Cloud to Jira Server, you must reset the passwords for your users. To do this, you can either:

Well done! You've migrated your Jira Cloud site into a Jira Server instance.

Known issues

During or after the migration from Jira Cloud to Jira Server, a few known issues might occur. They're mainly caused by the differences between the source codes of the two products. 

See more details of the issues in the following table.

IssueSolution

After migrating data from Jira Cloud to Jira Data Center, the time is displayed incorrectly.

Users may notice that the timestamps for issue creation, comments, and other activities do not match the expected local time.

This issue occurs when the data from Jira Cloud was imported in other time zone than Coordinated Universal Time (UTC).

To avoid this, before you import data in step 4, you need to do one of the following:

  • Set the server’s timezone argument to UTC.

  • Set the JVM timezone argument to UTC.

For instructions, refer to Set the timezone for the Java Environment.

Jira Server is set up to import data from Jira Cloud but there's no prompt whether you want to import data or not.


In case the Jira Server database already contains some data, you might not be prompted to import your data from the backup when starting Jira. You'll just see Jira's user interface.

You can proceed with restoring the database. Restoration of the database will overwrite the data in it. So, take this step only if you're sure that overwriting the data won't cause other issues.

After migrating from Jira Cloud, Jira Server might fail to import a project from the same server instance backup. In this case, you'll see the following notification: "The import was aborted because there were too many errors".

This is a known issue documented in this Knowledge Base article. The article describes the scenarios when the issue might occur and explains how to solve it. 
After migrating from Jira Cloud to Server, the user can't generate a new license for any Jira application (Jira Core, Jira Software, or Jira Service Management). 

This is a know issue tracked in the ticket JRASERVER-66787.

Feel free to leave comments on the ticket so we know your use cases better and understand how this issue is impacting your operations.

Last modified on Dec 13, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.