Maven Changes Plugin
  1. Maven Changes Plugin
  2. MCHANGES-285

SAXException parsing JIRA XML from JIRA 5.1

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.1
    • Fix Version/s: 2.8
    • Component/s: jira
    • Labels:
      None
    • Environment:
      osx rhel sun java 1.6.0_30
    • Number of attachments :
      2

      Description

      When trying to generate a changes report from a JIRA instance running 5.1[1] I get the following exception

      [INFO] Generating "JIRA Report" report — maven-changes-plugin:2.7.1
      Jul 16, 2012 5:32:53 PM org.apache.commons.httpclient.HttpMethodBase getResponseBody
      WARNING: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
      [INFO] Downloading from JIRA at: http://bugs.cloud.cerner.corp/secure/IssueNavigator.jspa?view=rss&pid=10670&component=kepler-client&component=kepler-parent&status=Verified&status=Closed&resolution=1&resolution=12&tempMax=100&reset=true&decorator=none
      [WARNING]
      org.apache.maven.plugin.MojoExecutionException: Failed to parse JIRA XML.
      at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:132)
      at org.apache.maven.plugin.jira.JiraXML.parseXML(JiraXML.java:108)
      at org.apache.maven.plugin.jira.AbstractJiraDownloader.getIssueList(AbstractJiraDownloader.java:755)
      at org.apache.maven.plugin.jira.JiraMojo.executeReport(JiraMojo.java:347)
      at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190)
      at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:219)
      at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:317)
      at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:134)
      at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175)
      at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
      Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
      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.XMLDocumentFragmentScannerImpl.scanAttribute(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 org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
      at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:128)
      ... 30 more

      [1] - https://confluence.atlassian.com/display/JIRA/JIRA+5.1+Release+Notes

      1. patch.txt
        48 kB
        Ton Swieb
      2. patch-2.7.x.txt
        48 kB
        Jamie Duncombe

        Issue Links

          Activity

          Hide
          Gary Gregory added a comment -

          I still get this in 2.8:

          [INFO] Generating "JIRA Report" report    --- maven-changes-plugin:2.8
          Sep 17, 2012 8:54:14 PM org.apache.commons.httpclient.HttpMethodBase getResponseBody
          WARNING: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
          [INFO] Downloading from JIRA at: http://issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&pid=12310464&statusIds=5&statusIds=6&resolutionIds=1&type=1&t
          ype=2&type=3&type=4&type=5&type=6&sorter/field=fixVersions&sorter/order=DESC&sorter/field=issuetype&sorter/order=ASC&sorter/field=issuekey&sorter/order=DESC&tem
          pMax=100&reset=true&decorator=none
          [WARNING]
          org.apache.maven.plugin.MojoExecutionException: Failed to parse JIRA XML.
                  at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:132)
                  at org.apache.maven.plugin.jira.JiraXML.parseXML(JiraXML.java:108)
                  at org.apache.maven.plugin.jira.AbstractJiraDownloader.getIssueList(AbstractJiraDownloader.java:608)
                  at org.apache.maven.plugin.jira.JiraMojo.executeReport(JiraMojo.java:356)
                  at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190)
                  at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:219)
                  at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:319)
                  at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:135)
                  at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175)
                  at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138)
                  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
                  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
                  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
                  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
                  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
                  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
                  at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
                  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
                  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
                  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
                  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
                  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
                  at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                  at java.lang.reflect.Method.invoke(Method.java:597)
                  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
                  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
                  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
                  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
          Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
                  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.XMLDocumentFragmentScannerImpl.scanAttribute(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 org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
                  at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:128)
                  ... 30 more
          

          This is with Apache Commons Codec trunk.

          Show
          Gary Gregory added a comment - I still get this in 2.8: [INFO] Generating "JIRA Report" report --- maven-changes-plugin:2.8 Sep 17, 2012 8:54:14 PM org.apache.commons.httpclient.HttpMethodBase getResponseBody WARNING: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended. [INFO] Downloading from JIRA at: http://issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&pid=12310464&statusIds=5&statusIds=6&resolutionIds=1&type=1&t ype=2&type=3&type=4&type=5&type=6&sorter/field=fixVersions&sorter/order=DESC&sorter/field=issuetype&sorter/order=ASC&sorter/field=issuekey&sorter/order=DESC&tem pMax=100&reset=true&decorator=none [WARNING] org.apache.maven.plugin.MojoExecutionException: Failed to parse JIRA XML. at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:132) at org.apache.maven.plugin.jira.JiraXML.parseXML(JiraXML.java:108) at org.apache.maven.plugin.jira.AbstractJiraDownloader.getIssueList(AbstractJiraDownloader.java:608) at org.apache.maven.plugin.jira.JiraMojo.executeReport(JiraMojo.java:356) at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:190) at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:219) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:319) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:135) at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:175) at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:138) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference. 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.XMLDocumentFragmentScannerImpl.scanAttribute(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 org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.apache.maven.plugin.jira.JiraXML.parse(JiraXML.java:128) ... 30 more This is with Apache Commons Codec trunk.
          Hide
          Micah Whitacre added a comment -

          I had the same problem until I shifted to using the <useJql/> configuration which is required for JIRA 5.1 or higher.[1]

          [1] - http://maven.apache.org/plugins/maven-changes-plugin/jira-report-mojo.html#useJql

          Show
          Micah Whitacre added a comment - I had the same problem until I shifted to using the <useJql/> configuration which is required for JIRA 5.1 or higher. [1] [1] - http://maven.apache.org/plugins/maven-changes-plugin/jira-report-mojo.html#useJql
          Hide
          Gary Clayburg added a comment -

          Hey guys, this issue was working for me using Jira OnDemand. It now appears to fail with this 400 error. I'm thinking this is due to recent changes in the way that Jira OnDemand is doing authentication. I get a similar error in a browser if the session is not authenticated. Does anyone else use Jira OnDemand with this plugin?

          [INFO] Scanning for projects...
          [INFO]
          [INFO] ------------------------------------------------------------------------
          [INFO] Building changes-tests 1.22
          [INFO] ------------------------------------------------------------------------
          [INFO]
          [INFO] --- maven-changes-plugin:2.8-SNAPSHOT:jira-report (default-cli) @ changes-tests ---
          [WARNING] Deprecated API called - not org.apache.maven.doxia.sink.Sink instance and no SinkFactory available. Please update this plugin.
          [INFO] Downloading from JIRA at: https://urlremoved.jira.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?tempMax=100&reset=true&jqlQuery=project+%3D+OIAM+AND+fixVersion+in+%28%221.0.5%22%29+AND+status+in+%28Closed%29+AND+resolution+in+%28Fixed%29+ORDER+BY+priority+DESC%2C+created+DESC
          [WARNING] Downloading from JIRA failed. Received: [400]
          
          Show
          Gary Clayburg added a comment - Hey guys, this issue was working for me using Jira OnDemand. It now appears to fail with this 400 error. I'm thinking this is due to recent changes in the way that Jira OnDemand is doing authentication. I get a similar error in a browser if the session is not authenticated. Does anyone else use Jira OnDemand with this plugin? [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building changes-tests 1.22 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-changes-plugin:2.8-SNAPSHOT:jira-report ( default -cli) @ changes-tests --- [WARNING] Deprecated API called - not org.apache.maven.doxia.sink.Sink instance and no SinkFactory available. Please update this plugin. [INFO] Downloading from JIRA at: https: //urlremoved.jira.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?tempMax=100&reset= true &jqlQuery=project+%3D+OIAM+AND+fixVersion+in+%28%221.0.5%22%29+AND+status+in+%28Closed%29+AND+resolution+in+%28Fixed%29+ORDER+BY+priority+DESC%2C+created+DESC [WARNING] Downloading from JIRA failed. Received: [400]
          Hide
          Dennis Lundberg added a comment -

          Gary,
          Please open a new for that and be sure to include you configuration, or even better a complete runnable project.

          Show
          Dennis Lundberg added a comment - Gary, Please open a new for that and be sure to include you configuration, or even better a complete runnable project.
          Hide
          Gary Clayburg added a comment -

          Dennis,

          I created MCHANGES-291 to address this issue. Thanks.

          Show
          Gary Clayburg added a comment - Dennis, I created MCHANGES-291 to address this issue. Thanks.

            People

            • Assignee:
              Dennis Lundberg
              Reporter:
              Micah Whitacre
            • Votes:
              5 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: