JIRA Macro Issues does not render properly for logins containing white spaces
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
When displaying JIRA Issues in a Confluence page, they will not render properly if the user login contains white spaces:
The following appears in the atlassian-confluence.log
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2014-05-12 11:41:58,239 ERROR [Jira macros executor:thread-4] [confluence.extra.jira.JiraIssuesMacro] throwMacroExecutionException Macro execution exception:
-- referer: http://confluence:8090/ | url: /display/TES/Testing+Home | userName: admin | action: viewpage | page: 4030466
java.lang.IllegalArgumentException: Illegal character in query at index 208: http://jira:8080/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=key+in+%28TEST-3%29&returnMax=true&field=summary&field=type&field=resolution&field=status&field=link&xoauth_requestor_id=d luvison
at java.net.URI.create(URI.java:859)
at com.atlassian.sal.core.net.HttpClientProtocolConfig.changeHostConfigurationProtocol(HttpClientProtocolConfig.java:43)
at com.atlassian.sal.core.net.HttpClientProtocolConfig.configureProtocol(HttpClientProtocolConfig.java:20)
at com.atlassian.sal.core.net.HttpClientRequest.configureProtocol(HttpClientRequest.java:532)
at com.atlassian.sal.core.net.HttpClientRequest.setUrl(HttpClientRequest.java:135)
at com.atlassian.sal.core.net.HttpClientRequest.setUrl(HttpClientRequest.java:71)
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.setUrl(JerseyRequest.java:57)
at com.atlassian.plugins.rest.module.jersey.JerseyRequest.setUrl(JerseyRequest.java:21)
at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.setUrl(ApplicationLinkRequestAdaptor.java:134)
at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.setUrl(ApplicationLinkRequestAdaptor.java:20)
at com.atlassian.applinks.core.auth.oauth.twolo.impersonation.TwoLeggedOAuthWithImpersonationRequest.signRequest(TwoLeggedOAuthWithImpersonationRequest.java:43)
at com.atlassian.applinks.core.auth.oauth.OAuthRequest.execute(OAuthRequest.java:42)
at com.atlassian.confluence.extra.jira.DefaultJiraIssuesManager.retrieveXML(DefaultJiraIssuesManager.java:92)
at com.atlassian.confluence.extra.jira.CacheJiraIssuesManager.retrieveXML(CacheJiraIssuesManager.java:41)
at com.atlassian.confluence.extra.jira.DefaultJiraIssuesManager.retrieveXMLAsChannel(DefaultJiraIssuesManager.java:174)
at com.atlassian.confluence.extra.jira.JiraIssuesMacro.populateContextMapForStaticSingleIssue(JiraIssuesMacro.java:753)
at com.atlassian.confluence.extra.jira.JiraIssuesMacro.createContextMapFromParams(JiraIssuesMacro.java:595)
at com.atlassian.confluence.extra.jira.JiraIssuesMacro.execute(JiraIssuesMacro.java:1492)
at com.atlassian.confluence.extra.jira.executor.StreamableMacroFutureTask.call(StreamableMacroFutureTask.java:36)
at com.atlassian.confluence.extra.jira.executor.StreamableMacroFutureTask.call(StreamableMacroFutureTask.java:15)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.URISyntaxException: Illegal character in query at index 208: http://jira:8080/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=key+in+%28TEST-3%29&returnMax=true&field=summary&field=type&field=resolution&field=status&field=link&xoauth_requestor_id=d luvison
at java.net.URI$Parser.fail(URI.java:2829)
at java.net.URI$Parser.checkChars(URI.java:3002)
at java.net.URI$Parser.parseHierarchical(URI.java:3092)
at java.net.URI$Parser.parse(URI.java:3034)
at java.net.URI.<init>(URI.java:595)
at java.net.URI.create(URI.java:857)
... 23 more
The above symptom will not affect users that do not have white spaces in their username.
Cause
This is a bug with the Application links plugin being unable to handle the white spaces during the information change process. This is currently being tracked in APL-1195 - Failed to use application link with user name of non Latin character or space.
Confluence and JIRA does not allow a login containing white spaces, unless you pull those from an external directory (AD/LDAP). If you have a user from AD/LDAP that contains white spaces, you will see this bug when trying to render JIRA issues in a page.
Workaround
Change the username to remove the white spaces in AD/LDAP and synchronize within Confluence. If that is not feasible, make sure to vote for the bug mentioned above and add your thoughts to it.
Was this helpful?