This article guides you through the steps to take for the migration of a Server (where Backbone is configured) to server synchronization to a Cloud to Server (where Backbone is configured) synchronization.
You are synchronizing to a Server instance which also has Backbone installed
You have configured/set up the synchronization on your instance
Only you are migrating your Server instance to Cloud
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.
Things to Keep in Mind
You can't set up the synchronization on the Cloud side which means that your partner will need to set up/configure the synchronization
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 SB - partner project on Server
Step-1: Export your synchronization data
Stop the original running synchronization
Export the synchronization config for this synchronization
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 exported data
Open the exported synchronization config file you created in step 1.2
Rename "firstConnector" (at the beginning of the file) to "secondConnector"
Rename "secondConnector" (in the middle of the file) to "firstConnector"
python -m pip install requestsin the root directory of the scripts to install the requests module for python
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
Open the converted file and rename:
"firstConnector" (at the beginning of the file) to "secondConnector"
"secondConnector" (in the middle of the file) to "firstConnector"
Split the file into processable chunks by running
python splitMappingFile.py -f <path_to_created_file>
You now have multiple files called
chunkedMappingFile-X.jsonin your current working directory
Step-4: Create a new synchronization
Go to Project SB and start a new sync with project CA
Import synchronization config that you exported and changed in step 3.1
chunkedMappingFile-X.json: Upload the synced issue data for these issues (click ••• > Pair existing issues > Pair existing issues synced with Backbone before)
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.
Note: if you are using a user field mapping, make sure to set it to "User Passthrough Mapping (by email)"
Step-5: Start the synchronization
Start the new synchronization
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.
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 firstname.lastname@example.org.