Uploaded image for project: 'Migration Platform'
  1. Migration Platform
  2. MIG-1032

During Jira migration, object IDs in issue changelogs are not mapped

XMLWordPrintable

    • 7
    • Minor
    • 53

      Issue Summary

      When performing a Jira migration with Jira Cloud Migration Assistant, the object id values in the changelog are not converted to their equivalent in cloud, even though the ids have new values.

      The values are correct in the history tab.

      Steps to Reproduce

      Cloud

      Create 2 new statues, Cloud1 and Cloud2 (this has the effect of bumping id values up so to generate distinct new values on migration)

      Server

      1. Create a new Project
      2. Create 2 new Statuses (allow from all Status), Server1 and Server2 and add them to the Workflow of the new Project
      3. Create an Issue and transition the Issue from any Status to Server1 and then Server2
      4. Migrate from Server to Cloud

      Expected Results

      The object ids in the changelog (here status) should have the same values as the migrated ids.

      Actual Results

      Server

      In Server we see the Status values as

      Status id
      Server1 10100
      Server2 10101

      Getting the Status id values

      curl --silent --user admin:admin --location --request GET "http://jira.mycompany.com/rest/api/2/status" | jq
      
      {
        "self": "http://jira.mycompany.com/jira/rest/api/2/status/10100",
        "description": "",
        "iconUrl": "http://jira.mycompany.com/jira/images/icons/statuses/generic.png",
        "name": "Server1",
        "id": "10100",
        "statusCategory": {
          "self": "http://jira.mycompany.com/jira/rest/api/2/statuscategory/2",
          "id": 2,
          "key": "new",
          "colorName": "blue-gray",
          "name": "To Do"
        }
      },
      {
        "self": "http://jira.mycompany.com/jira/rest/api/2/status/10101",
        "description": "",
        "iconUrl": "http://jira.mycompany.com/jira/images/icons/statuses/generic.png",
        "name": "Server2",
        "id": "10101",
        "statusCategory": {
          "self": "http://jira.mycompany.com/jira/rest/api/2/statuscategory/2",
          "id": 2,
          "key": "new",
          "colorName": "blue-gray",
          "name": "To Do"
        }
      }
      

      And getting the changelog

      curl --silent --user admin:admin --location --request GET "http://jira.mycompany.com/rest/api/2/issue/KEY-1?expand-changelog" | jq
       
      {
         "field": "status",
         "fieldtype": "jira",
         "from": "10100",
         "fromString": "Server1",
         "to": "10101",
         "toString": "Server2"
       }
      ...
      
       {
         "field": "status",
         "fieldtype": "jira",
         "from": "10001",
         "fromString": "Done",
         "to": "10100",
         "toString": "Server1"
       }
      

      Cloud

      The Statuses are migrated with new ids, in Cloud we see the migrated values as

      Status id
      Server1 10005
      Server2 10006

       

      curl --silent --request GET --url 'https://mycompany.atlassian.net/rest/api/3/status' --user 'user@mycompany.com:<token>' | jq 
      {
        "self": "https://mycompany.atlassian.net/rest/api/3/status/10005",
        "description": "(Migrated on 13 Apr 2022 02:02 UTC)",
        "iconUrl": "https://mycompany.atlassian.net/images/icons/statuses/generic.png",
        "name": "Server1",
        "untranslatedName": "Server1",
        "id": "10005",
        "statusCategory": {
          "self": "https://mycompany.atlassian.net/rest/api/3/statuscategory/2",
          "id": 2,
          "key": "new",
          "colorName": "blue-gray",
          "name": "To Do"
        }
      },
      {
        "self": "https://mycompany.atlassian.net/rest/api/3/status/10006",
        "description": "(Migrated on 13 Apr 2022 02:02 UTC)",
        "iconUrl": "https://mycompany.atlassian.net/images/icons/statuses/generic.png",
        "name": "Server2",
        "untranslatedName": "Server2",
        "id": "10006",
        "statusCategory": {
          "self": "https://mycompany.atlassian.net/rest/api/3/statuscategory/2",
          "id": 2,
          "key": "new",
          "colorName": "blue-gray",
          "name": "To Do"
        }
      } 

      But in Cloud we see in changelog the same values as from Server

      curl --silent --request GET --url 'https://mycompany.atlassian.net/rest/api/3/issue/KEY-1?expand=changelog' --user 'user@mycompany.com:<token>' | jq 
      {
        "field": "status",
        "fieldtype": "jira",
        "fieldId": "status",
        "from": "10001",
        "fromString": "Done",
        "to": "10100",
        "toString": "Server1"
      }
      ...
      {
        "field": "status",
        "fieldtype": "jira",
        "fieldId": "status",
        "from": "10100",
        "fromString": "Server1",
        "to": "10101",
        "toString": "Server2"
      }
      

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

              cb409c559c8f Keith Pinto (Inactive)
              jrichards@atlassian.com James Richards
              Votes:
              44 Vote for this issue
              Watchers:
              37 Start watching this issue

                Created:
                Updated:
                Resolved: