Getting started with Migration Doctor

You need two things: access to your Jira Data Center (to export a snapshot) and the Jira Administer Jira global permission in Jira Cloud.

1. Export a snapshot from Data Center

  1. Download the snapshot script from migration-doctor-snapshot (PowerShell or bash). It only reads; it changes nothing in Data Center.
  2. Jira Data Center's REST API does not expose every filter, dashboard owners or workflow rules. For a complete snapshot, a database administrator runs the read-only SQL queries shipped with the script and saves the results as described in its README.
  3. Create a personal access token in Data Center and run the script with your base URL, pointing it at the SQL exports. The token is read from an environment variable and never written to the file.
  4. The result is one JSON file with configuration only: projects, fields, statuses, groups, users (name, display name, e-mail), filters, dashboards, workflows and permission schemes. No issues, comments or attachments.

The snapshot stays on your machine until you upload it to your own Jira Cloud site.

2. Upload it to Jira Cloud

  1. Open Jira settings → Apps → Migration Doctor.
  2. On Snapshot, choose the file. The app checks it in your browser before uploading and lists any problem with its location in the file.
  3. Upload. Large snapshots are sent in parts; keep the page open until the upload finishes.

3. Run the checks

  1. Select Run checks. The app reads your Cloud configuration with your permissions: projects, fields, statuses, groups, filters, dashboards, workflows, permission schemes and users. Keep the page open; this takes from seconds to a few minutes.
  2. The comparison then runs in the background. The report opens when it is done.

4. Work through the report

5. Repair filters

For FLT-01 (filter missing) and FLT-02 (Data Center usernames in JQL):

  1. Select Fix…. The preview shows the original and the new JQL side by side, the name, the owner the filter will be handed to, and any warning.
  2. Jira validates the new JQL before you can approve.
  3. Approve. The app creates the filter as you, then hands ownership to the original owner when one was mapped. The original filter is never changed or deleted.
  4. Change log lists every repair with the values before and after.

Good to know