Skip to main content
Skip table of contents

Server to Cloud → Cloud to Cloud

This article guides you through the steps to take for the migration of a Server to Cloud synchronization to a Cloud to Cloud synchronization.

Prerequisites

  • You are migrating from your Server instance to a Cloud instance

  • Your (new) Cloud instance has Backbone installed

  • You are synchronizing to a Cloud instance which also has Backbone installed

  • There are no errors in the troubleshooting tab of the configuration. If there are, please solve these first.

  • You need to have Python 3 installed on your computer

  • You need these scripts: splitMappingFile.py, translateMappingFile.py

Things to Keep in Mind

  • In a Cloud to Cloud synchronization, both partners have access to the synchronization

  • You don't need a synchronization user anymore, this is replaced by an automatically created user "Backbone Issue Sync for Jira"

Migration Steps

These steps assume the following setup:

  • Project SA - project that should be migrated from Server to Cloud

  • Project CA - project SA after it has been migrated from Server to Cloud

  • Project CB - partner project already on Cloud

Step-1: Export your synchronization data

  1. Stop the original running synchronization

  2. Export the synchronization config for this synchronization

  3. Download the synced issue data for this synchronization (open the synchronization config and click ••• > Download synchronized issues)

Step-2: Migrate your server project to the Cloud

Migrate the project SA using the Jira Cloud Migration Assistant. We’ll call the new Cloud project in this guide CA.

Step-3: Modify the mapping files

  1. Run python -m pip install requests in the root directory of the scripts to install the requests module for python

  2. Run python translateMappingFile.py -f <path_to_your_file_from_step_1-3> --bu1 <url_of_your_jira_server> --u1 <user_for_your_jira_server> --p1 <password_for_your_jira_server> --bu2 <url_of_your_jira_cloud> --u2 <user_for_your_jira_cloud> --p2 <access_token_for_your_jira_cloud>. This command will create a new file. You can find out the file name by analyzing the last line of the output: e.g. saving json to /Users/myuser/20230512103931_sync_info_pairs.json-converted.json

  3. Split the file into processable chunks by running python splitMappingFile.py -f <path_to_created_file>

  4. You now have multiple files called chunkedMappingFile-X.json in your current working directory

Step-4: Create a new synchronization

  1. Go to (the new Jira Cloud instance for) project CA and create a new synchronization with project CB. Note: it's important to set the synchronization up on project CA, not on project CB.

  2. Accept the synchronization request in Project CB on Instance B

  3. Import the synchronization config that you exported in step 2 or create a new config

  4. For each chunkedMappingFile-X.json: Upload the synced issue data for these issues (click ••• > Pair existing issues > Pair existing issues synced with Backbone before)

  5. In the synchronization config, check every tab ('Issue types', 'Fields - mappings' etc.) for validation errors – these will appear in yellow warning boxes. These warnings can appear due to custom IDs (issue type IDs, field IDs, etc) being different in the new Jira instance. Find any errors and correct them.

Step-5: Start the synchronization

  1. Start the new synchronization

  2. In the new synchronization, trigger a resync in both directions (with only the summary field, so the resync doesn't take long). This is done in order to recreate the information in the Sync info panel.

  3. Once you have verified everything is working correctly, delete the original synchronization. This will also delete the old information in the sync info panel.

Still Unclear? Reach Out to Us

If you need help with any of these migration steps, reach out to us via help@k15t.com.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.