Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-55563

Jira Issues macro: Displaying issues related to an epic in a restricted project causes "Data cannot be retrieved due to an unexpected error." to display in Confluence if the macro includes either the Epic Name or Epic Link.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 6.8.1, 6.12.4, 6.15.1, 7.12.2
    • Macros - Jira Macros
    • None

      Summary

      Jira Issues macro: Displaying issues related to an epic in a restricted project causes "Data cannot be retrieved due to an unexpected error." to display in Confluence if the macro includes either the Epic Name or Epic Link.

      Environment

      Confluence 6.8.1
      Jira 7.9.0

      Steps to Reproduce

      1. Create application link between Confluence and Jira.
      2. Create two projects in Jira, project x and project y.  Make project x accessible to all users and set project y's project browse permissions so that not all users can view the project.
      3. Create one ticket in Jira project x (TICKET-01).
      4. Create one ticket in Jira project y (TICKET-02).
      5. Create an epic in project y (EPIC-01) and assign ticket (TICKET-01) to the epic.
      6. In Confluence, configure Jira Issue Macro to filter tickets from project x.
      7. TICKET-01 should display.
      8. Now, change the Jira Issues Macro to display either the "epic name" or "epic link" fields.

      Expected Results

      Jira Issue Macro should display a message indicating that the issue can't be displayed since it is linked to an epic that resides in a project for which access is restricted.

      Actual Results

      Confluence displays the following message: "Data cannot be retrieved due to an unexpected error. View these issues in Jira"

      Also, the following exception is thrown in the atlassian-confluence.log file:

      2018-05-09 16:24:11,339 ERROR [JIM Marshaller:thread-23] [confluence.extra.jira.JiraIssuesMacro] executeRest ResponseExceptionException -- url: /conf/display/GOG/EPIC+test | page: 1015810 | traceId: d4196a0ccbf344a0 | userName: bo | referer: [http://localhost:9681/conf/pages/resumedraft.action?draftId=1015811&draftShareId=e913d558-e479-4036-9628-a19c12f1b92b] | action: viewpagecom.atlassian.sal.api.net.ResponseStatusException: Unexpected response received. Status code: 403 at com.atlassian.applinks.core.auth.ApplicationLinksStringReturningResponseHandler.handle(ApplicationLinksStringReturningResponseHandler.java:16) at com.atlassian.applinks.core.auth.ApplicationLinksStringReturningResponseHandler.handle(ApplicationLinksStringReturningResponseHandler.java:13) at com.atlassian.applinks.oauth.auth.OAuthApplinksReturningResponseHandler.handle(OAuthApplinksReturningResponseHandler.java:48) at com.atlassian.plugins.rest.module.jersey.JerseyRequest$2.handle(JerseyRequest.java:134) at com.atlassian.sal.core.net.HttpClientRequest.executeAndReturn(HttpClientRequest.java:104) at com.atlassian.plugins.rest.module.jersey.JerseyRequest.executeAndReturn(JerseyRequest.java:131) at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.executeAndReturn(ApplicationLinkRequestAdaptor.java:53) at com.atlassian.applinks.oauth.auth.OAuthRequest.executeAndReturn(OAuthRequest.java:84) at com.atlassian.applinks.core.auth.AbstractApplicationLinkRequest.execute(AbstractApplicationLinkRequest.java:114) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.executeRest(JiraIssuesMacro.java:660) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.getEpicInformation(JiraIssuesMacro.java:778) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.populateTableEpicData(JiraIssuesMacro.java:701) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.populateContextMapForStaticTable(JiraIssuesMacro.java:891) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.createContextMapFromParams(JiraIssuesMacro.java:441) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.execute(JiraIssuesMacro.java:1145) at com.atlassian.confluence.extra.jira.executor.StreamableMacroFutureTask.renderValue(StreamableMacroFutureTask.java:74) at com.atlassian.confluence.extra.jira.services.DefaultAsyncJiraIssueBatchService.lambda$processRequestWithJql$2(DefaultAsyncJiraIssueBatchService.java:183) at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContextInternal(VCacheRequestContextManager.java:87) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:71) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$withRequestContext$1(VCacheRequestContextOperations.java:59) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)2018-05-09 16:24:11,341 ERROR [JIM Marshaller:thread-23] [extra.jira.helper.JiraExceptionHelper] throwMacroExecutionException Macro execution exception:  -- url: /conf/display/GOG/EPIC+test | page: 1015810 | traceId: d4196a0ccbf344a0 | userName: bo | referer: [http://localhost:9681/conf/pages/resumedraft.action?draftId=1015811&draftShareId=e913d558-e479-4036-9628-a19c12f1b92b] | action: viewpagejava.lang.IllegalStateException: Not a JSON Object: null at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:91) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.parseCustomField(JiraIssuesMacro.java:823) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.getEpicInformation(JiraIssuesMacro.java:779) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.populateTableEpicData(JiraIssuesMacro.java:701) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.populateContextMapForStaticTable(JiraIssuesMacro.java:891) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.createContextMapFromParams(JiraIssuesMacro.java:441) at com.atlassian.confluence.extra.jira.JiraIssuesMacro.execute(JiraIssuesMacro.java:1145) at com.atlassian.confluence.extra.jira.executor.StreamableMacroFutureTask.renderValue(StreamableMacroFutureTask.java:74) at com.atlassian.confluence.extra.jira.services.DefaultAsyncJiraIssueBatchService.lambda$processRequestWithJql$2(DefaultAsyncJiraIssueBatchService.java:183) at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContextInternal(VCacheRequestContextManager.java:87) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:71) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$withRequestContext$1(VCacheRequestContextOperations.java:59) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
      ...
      

       

      Workaround
      Do not include Epic Name or Epic Link in the Jira Issues macro.

       

      Note:

      This bug is similar to https://jira.atlassian.com/browse/JRASERVER-66671

              Unassigned Unassigned
              sshaw@atlassian.com Steve Shaw
              Votes:
              27 Vote for this issue
              Watchers:
              33 Start watching this issue

                Created:
                Updated: