Details
-
Bug
-
Resolution: Not a bug
-
High
-
None
-
Severity 3 - Minor
-
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
- Create a JIRA Cloud backup (either for Server or for Cloud)
- 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"/>