Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-66788

Not possible to directly import projects from a Jira Cloud backup to Jira server due to schema differences

    XMLWordPrintable

Details

    Description

      Summary

      Up until March 06 the JIRA Cloud backups would always contain the 'key' field within the entities.xml. However from March 07 forward, (hash 48b8a0a6c5b6145a4d9a5ac14a1cb4a16bec2473) this 'key' field is no longer present in the entities.xml file, which makes it impossible to import projects from this Cloud backup on JIRA Server.

      Steps to Reproduce

      1. Create a JIRA Cloud backup (either for Server or for Cloud)
      2. Try to import this backup into a JIRA Server using the Project Import tool

      Expected Results

      The projects are imported.

      Actual Results

      The Project import fails saying it couldn't find the 'key' field for the first issue it tries to import:

      There was a problem parsing the backup XML file at /opt/jira-home/import/backup-server-48b8a0a6c5b6145a4d9a5ac14a1cb4a16bec2473.zip: No 'key' field for Issue 10000.

      JIRA Server logs say:

      2017-04-25 12:59:54,974 JiraTaskExectionThread-1 ERROR sysadmin 779x323x1 plrbhk 172.16.89.1 /secure/admin/ProjectImportSelectBackup.jspa [c.a.j.imports.xml.DefaultBackupXmlParser] Unexpected import failure
      org.xml.sax.SAXException: No 'key' field for Issue 10000.
      com.atlassian.jira.exception.ParseException: No 'key' field for Issue 10000.
      	at com.atlassian.jira.imports.project.handler.ChainedOfBizSaxHandler.endTopLevelElement(ChainedOfBizSaxHandler.java:225)
      	at com.atlassian.jira.imports.project.handler.ChainedOfBizSaxHandler.endElement(ChainedOfBizSaxHandler.java:169)
      	at com.atlassian.jira.imports.project.handler.ChainedOfBizSaxHandler.endElement(ChainedOfBizSaxHandler.java:136)
      	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      	at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
      	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
      	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      	at com.atlassian.security.xml.RestrictedXMLReader.parse(RestrictedXMLReader.java:103)
      	at com.atlassian.jira.imports.xml.DefaultBackupXmlParser$XmlParser.parseXml(DefaultBackupXmlParser.java:115)
      	at com.atlassian.jira.imports.xml.DefaultBackupXmlParser.parse(DefaultBackupXmlParser.java:64)
      	at com.atlassian.jira.imports.xml.DefaultBackupXmlParser.parseXml(DefaultBackupXmlParser.java:52)
      	at com.atlassian.jira.imports.xml.DefaultBackupXmlParser.parseOfBizBackupXml(DefaultBackupXmlParser.java:41)
      	at com.atlassian.jira.imports.project.DefaultProjectImportManager.getBackupOverview(DefaultProjectImportManager.java:236)
      	at com.atlassian.jira.bc.imports.project.DefaultProjectImportService.getBackupOverview(DefaultProjectImportService.java:194)
      	at com.atlassian.jira.web.action.admin.importer.project.ProjectImportSelectBackup$BackupOverviewCallable.call(ProjectImportSelectBackup.java:240)
      	at com.atlassian.jira.web.action.admin.importer.project.ProjectImportSelectBackup$BackupOverviewCallable.call(ProjectImportSelectBackup.java:231)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:458)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:426)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:216)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: com.atlassian.jira.exception.ParseException: No 'key' field for Issue 10000.
      	at com.atlassian.jira.imports.project.parser.IssueParserImpl.parse(IssueParserImpl.java:65)
      	at com.atlassian.jira.imports.project.populator.IssueIdPopulator.populate(IssueIdPopulator.java:21)
      	at com.atlassian.jira.imports.project.core.BackupOverviewBuilderImpl.populateInformationFromElement(BackupOverviewBuilderImpl.java:147)
      	at com.atlassian.jira.imports.project.handler.BackupOverviewHandler.handleEntity(BackupOverviewHandler.java:24)
      	at com.atlassian.jira.imports.project.handler.ChainedOfBizSaxHandler.endTopLevelElement(ChainedOfBizSaxHandler.java:221)

      Notes

      Opening the entities.xml file we can see there is no 'key' field there for this 10000 issue:

      <Issue id="10000" projectKey="KAN" number="1" project="10000" reporter="admin" creator="admin" type="10100" summary="One" priority="3" status="10000" created="2017-04-25 10:30:18.578" updated="2017-04-25 10:30:18.578" votes="0" watches="1" workflowId="10000"/>

      Whereas the same instance running a previous version and with the same data had this 'key' field for the same issue:

      <Issue id="10000" key="KAN-1" number="1" project="10000" reporter="admin" creator="admin" type="10100" summary="One" priority="3" status="10000" created="2017-04-25 10:30:18.578" updated="2017-04-25 10:30:18.578" votes="0" watches="1" workflowId="10000"/>

      Workaround

      Attachments

        Activity

          People

            Unassigned Unassigned
            fwillig Felipevsw (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            14 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: