Details
-
Bug
-
Resolution: Fixed
-
Low
-
Severity 2 - Major
-
Description
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