AP.confluence.getMacroData() is truncated if parameter contains equal sign

XMLWordPrintable

    • Severity 2 - Major

      Reported by macro vendor ...

      If a macro parameter includes an equals character (e.g. "a=1"), the value returned from AP.confluence.getMacroData() is truncated at the equals sign.

      This is an issue if (as in our case), we have a macro parameter that accepts a URL, and that URL includes querystring parameters, as those parameter values are not returned.

      For example, our app (Open API Documentation for Confluence) allows a content creator to specify a URL where their API definition (swagger file) is hosted, e.g.

      https://www.example.com/swagger.json?token=abcde

      When using AP.confluence.getMacroData(), the callback value returned is:

      {{{ "url": "https://}}www.example.com/swagger.json?token{{" } }}

      (note that the "=abcde" is stripped from the returned value).

      We can reproduce the same bug on an arbitrary "test" parameter with a value of "a=1", which AP.confluence.getMacroData() returns as

      {{

      { "test": "a" }

      }}

      instead of

      {{

      { "test": "a=1" }

      }}

      (Note: Calling the REST API returns the correct values).

      This bug means our users are unable to specify URLs in our macro that include a "=" character; which will be a showstopper for us.

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

       

              Assignee:
              Kevin Dietz (Inactive)
              Reporter:
              Kevin Dietz (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: