Fogbugz on demand import broken

Technical Operations February 20, 2013

We've successfully imported several projects, but we have problems with most important one. Parser breaks and stops at:

2013-02-21 08:25:07,105 INFO - Import started by bartek using com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzHostedDataBean

2013-02-21 08:25:07,246 INFO - ------------------------------

2013-02-21 08:25:07,246 INFO - Importing: Users

2013-02-21 08:25:07,246 INFO - ------------------------------

2013-02-21 08:25:07,246 INFO - Only new items will be imported

2013-02-21 08:25:07,425 INFO - 190 users associated with import.

2013-02-21 08:25:07,494 INFO - ------------------------------

2013-02-21 08:25:07,494 INFO - Finished Importing : Users

2013-02-21 08:25:07,494 INFO - ------------------------------

2013-02-21 08:25:07,494 INFO - 0 users successfully created.

2013-02-21 08:25:07,494 INFO - Retrieving projects...

2013-02-21 08:25:07,494 INFO - Project ExternalProject jiraId=<null>,id=13,externalName=Wikia,name=Wikia Enigneering,key=WE,url=<null>,lead=xxxxxx,description=<null>,projectCategoryName=<null>,avatarUrl=<null>,assigneeType=<null>,versions=<null>,components=<null>,issues=<null>,workflowSchemeName=Product Engineering already exists. Not imported

2013-02-21 08:25:07,495 INFO - ------------------------------

2013-02-21 08:25:07,495 INFO - Importing: Versions

2013-02-21 08:25:07,495 INFO - ------------------------------

2013-02-21 08:25:07,495 INFO - Only new items will be imported

2013-02-21 08:25:07,626 INFO - ------------------------------

2013-02-21 08:25:07,626 INFO - Finished Importing : Versions

2013-02-21 08:25:07,626 INFO - ------------------------------

2013-02-21 08:25:07,626 INFO - ------------------------------

2013-02-21 08:25:07,626 INFO - Importing: Components

2013-02-21 08:25:07,626 INFO - ------------------------------

2013-02-21 08:25:07,626 INFO - Only new items will be imported

2013-02-21 08:25:07,779 INFO - ------------------------------

2013-02-21 08:25:07,779 INFO - Finished Importing : Components

2013-02-21 08:25:07,779 INFO - ------------------------------

2013-02-21 08:25:07,779 INFO - Retrieving custom fields...

2013-02-21 08:25:07,779 INFO - ------------------------------

2013-02-21 08:25:07,779 INFO - Importing: Issues

2013-02-21 08:25:07,779 INFO - ------------------------------

2013-02-21 08:25:07,780 INFO - Only new items will be imported

2013-02-21 08:31:25,447 INFO - ------------------------------

2013-02-21 08:31:25,448 INFO - Finished Importing : Issues

2013-02-21 08:31:25,448 INFO - ------------------------------

2013-02-21 08:31:25,448 ERROR - Unexpected failure occurred. Importer will stop immediately. Data maybe in an unstable state

java.lang.RuntimeException: com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzRemoteException: org.jdom.input.JDOMParseException: Error on line 20: Open quote is expected for attribute width associated with an element type hr.

at com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzHostedDataBean.getIssuesIterator(FogBugzHostedDataBean.java:182)

at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.importIssues(DefaultJiraDataImporter.java:741)

at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.doImport(DefaultJiraDataImporter.java:354)

at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:27)

at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:16)

at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:365)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:249)

at java.lang.Thread.run(Thread.java:662)

Caused by: com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzRemoteException: org.jdom.input.JDOMParseException: Error on line 20: Open quote is expected for attribute width associated with an element type hr.

at com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzClient.getWithToken(FogBugzClient.java:230)

at com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzClient.getCases(FogBugzClient.java:275)

at com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzHostedDataBean.getIssuesIterator(FogBugzHostedDataBean.java:132)

... 12 more

Caused by: org.jdom.input.JDOMParseException: Error on line 20: Open quote is expected for attribute width associated with an element type hr.

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:468)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:770)

at com.atlassian.jira.plugins.importer.imports.fogbugz.hosted.FogBugzClient.getWithToken(FogBugzClient.java:223)

... 14 more

Caused by: org.xml.sax.SAXParseException: Open quote is expected for attribute width associated with an element type hr.

at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)

at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)

at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)

at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)

at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)

at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source)

at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)

at org.apache.xerces.impl.XMLNSDocumentScannerImpl.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 org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)

... 16 more

2013-02-21 08:31:25,566 INFO - No issues need to be reindexed.

1 answer

0 votes
Pawel Niewiadomski
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 24, 2013

Hi,

unfortunately FogBugz REST API sometimes does not escape data correctly. So if you have an issue that has XML or HTML attachments it serves it unescaped and JIRA Importers Plugin is not able to parse it.

Solution in this case would be to track down the issue(s) and migrate them manually. You'd have to catch the failing request to see what query to FogBugz is not parsed.

I think the request that failed was http://your.fogbugz/fogbugz/api.asp?cmd=search&q=project:=13&cols=ixBug,tags,fOpen,sTitle,sArea,sComputer,ixPersonAssignedTo,ixPersonOpenedBy,sStatus,ixPriority,sPriority,sFixFor,sVersion,sCustomerEmail,dtOpened,dtClosed,dtResolved,hrsOrigEst,hrsElapsed,hrsCurrEst,sCategory,events

In case I'm wrong you can catch it using a network sniffer (or just analyze logs on FogBugz server).

Cheers,

Pawel

Suggest an answer

Log in or Sign up to answer