Uploaded image for project: 'Confluence'
  1. Confluence
  2. CONFLUENCE-530

JIRA macro conversion fail when server parameter is not set.

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • None
    • 9.95.1
    • Syntax - XHTML
    • None
    • Unknown

    Description

      Step to reproduce (note I wasn't able to verify as I don't have a confluence instance to test):

      • In confluence add a JIRA server as the default in the server list
      • Add a JIRA macro targeting the default server (so the server field will be empty)
      • Export the confluence backup
      • Import into XWiki with confluence-xml

      Expected:

      The JIRA macro is imported

      Currently:

      The JIRA macro is not imported because of this error:

           <detailMessage>The server parameter is required</detailMessage>
            <stackTrace>
              <trace>org.xwiki.contrib.confluence.filter.internal.macros.JiraMacroConverter.toXWikiParameters(JiraMacroConverter.java:109)</trace>
              <trace>org.xwiki.contrib.confluence.filter.AbstractMacroConverter.toXWiki(AbstractMacroConverter.java:89)</trace>
              <trace>org.xwiki.contrib.confluence.filter.AbstractMacroConverter.toXWiki(AbstractMacroConverter.java:67)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.macros.DefaultMacroConverter.toXWiki(DefaultMacroConverter.java:88)</trace>
              <trace>org.xwiki.contrib.confluence.filter.AbstractMacroConverter.toXWiki(AbstractMacroConverter.java:67)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceConverterListener.onMacro(ConfluenceConverterListener.java:164)</trace>
              <trace>org.xwiki.rendering.internal.parser.wikimodel.DefaultXWikiGeneratorListener.onMacroBlock(DefaultXWikiGeneratorListener.java:825)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.wikimodel.ConfluenceXWikiGeneratorListener.onMacroBlock(ConfluenceXWikiGeneratorListener.java:351)</trace>
              <trace>org.xwiki.rendering.wikimodel.impl.InternalWikiScannerContext.onMacroBlock(InternalWikiScannerContext.java:1065)</trace>
              <trace>org.xwiki.rendering.wikimodel.impl.WikiScannerContext.onMacroBlock(WikiScannerContext.java:602)</trace>
              <trace>org.xwiki.rendering.wikimodel.impl.WikiScannerContext.onMacro(WikiScannerContext.java:595)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.wikimodel.MacroTagHandler.end(MacroTagHandler.java:135)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.handler.TagHandler.endElement(TagHandler.java:85)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.impl.TagContext.endElement(TagContext.java:81)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.impl.TagStack.endElement(TagStack.java:123)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.impl.XhtmlHandler.endElement(XhtmlHandler.java:199)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.XHTMLWhitespaceXMLFilter.sendInlineEvent(XHTMLWhitespaceXMLFilter.java:302)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.XHTMLWhitespaceXMLFilter.sendPreviousContent(XHTMLWhitespaceXMLFilter.java:291)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.XHTMLWhitespaceXMLFilter.flushContent(XHTMLWhitespaceXMLFilter.java:332)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.XHTMLWhitespaceXMLFilter.flushContent(XHTMLWhitespaceXMLFilter.java:314)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.XHTMLWhitespaceXMLFilter.endElement(XHTMLWhitespaceXMLFilter.java:183)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.wikimodel.ConfluenceXHTMLWhitespaceXMLFilter.endElement(ConfluenceXHTMLWhitespaceXMLFilter.java:90)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(Unknown Source)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.AccumulationXMLFilter.endElement(AccumulationXMLFilter.java:86)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.endElement(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.DTDXMLFilter.endElement(DTDXMLFilter.java:86)</trace>
              <trace>org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)</trace>
              <trace>org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)</trace>
              <trace>org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)</trace>
              <trace>org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)</trace>
              <trace>org.apache.xerces.parsers.XMLParser.parse(Unknown Source)</trace>
              <trace>org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)</trace>
              <trace>org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:58)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:58)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:58)</trace>
              <trace>java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.filter.DefaultXMLFilter.parse(DefaultXMLFilter.java:58)</trace>
              <trace>org.xwiki.rendering.wikimodel.xhtml.XhtmlParser.parse(XhtmlParser.java:134)</trace>
              <trace>org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:141)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.ConfluenceXHTMLParser.parse(ConfluenceXHTMLParser.java:334)</trace>
              <trace>org.xwiki.rendering.internal.parser.wikimodel.AbstractWikiModelParser.parse(AbstractWikiModelParser.java:121)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.ConfluenceXHTMLInputFilterStream.read(ConfluenceXHTMLInputFilterStream.java:112)</trace>
              <trace>org.xwiki.contrib.confluence.parser.xhtml.internal.ConfluenceXHTMLInputFilterStream.read(ConfluenceXHTMLInputFilterStream.java:47)</trace>
              <trace>org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.parse(ConfluenceInputFilterStream.java:2824)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.convertToXWiki21(ConfluenceInputFilterStream.java:2791)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.beginPageRevision(ConfluenceInputFilterStream.java:2359)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageRevision(ConfluenceInputFilterStream.java:2258)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendRevisions(ConfluenceInputFilterStream.java:1947)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendTerminalDoc(ConfluenceInputFilterStream.java:1830)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageAndChildren(ConfluenceInputFilterStream.java:1750)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPage(ConfluenceInputFilterStream.java:940)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPages(ConfluenceInputFilterStream.java:995)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageAndChildren(ConfluenceInputFilterStream.java:1760)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPage(ConfluenceInputFilterStream.java:940)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPages(ConfluenceInputFilterStream.java:995)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageAndChildren(ConfluenceInputFilterStream.java:1760)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPage(ConfluenceInputFilterStream.java:940)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPages(ConfluenceInputFilterStream.java:995)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageAndChildren(ConfluenceInputFilterStream.java:1760)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPage(ConfluenceInputFilterStream.java:940)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPages(ConfluenceInputFilterStream.java:995)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendOrphans(ConfluenceInputFilterStream.java:735)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageAndChildren(ConfluenceInputFilterStream.java:1766)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendPage(ConfluenceInputFilterStream.java:940)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendSpace(ConfluenceInputFilterStream.java:691)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendConfluenceRootSpace(ConfluenceInputFilterStream.java:669)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.sendSpaces(ConfluenceInputFilterStream.java:527)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readInternal(ConfluenceInputFilterStream.java:402)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:288)</trace>
              <trace>org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:116)</trace>
              <trace>org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)</trace>
              <trace>org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)</trace>
              <trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246)</trace>
              <trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:223)</trace>
              <trace>org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)</trace>
              <trace>com.xwiki.confluencepro.internal.ConfluenceMigrationJob.runInternal(ConfluenceMigrationJob.java:165)</trace>
              <trace>org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246)</trace>
              <trace>org.xwiki.job.AbstractJob.run(AbstractJob.java:223)</trace>
              <trace>java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)</trace>
              <trace>java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)</trace>
              <trace>java.base/java.lang.Thread.run(Unknown Source)</trace>
            </stackTrace>
      

      The problem is that in XWiki the JIRA macro require a JIRA server ID and this it not always available in confluence.

      One way to fix this issue would be to introduce a default JIRA server in the XWiki JIRA extension as same as we have in confluence. This would be handled by JIRA-37

      Attachments

        Activity

          People

            Unassigned Unassigned
            josue Josué Tille
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: