Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-25278

Installing Timetracker before Portfolio breaks Portfolio plan viewing

    XMLWordPrintable

Details

    • 0
    • 15
    • We collect Jira feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      Summary

      Installing the Timetracker add-on and then installing the latest Portfolio version on Jira 8 causing the following error when attempting to view a plan:

      java.lang.LinkageError: loader constraint violation: when resolving method "com.querydsl.sql.SQLQueryFactory.<init>(Lcom/querydsl/sql/Configuration;Ljavax/inject/Provider;)V" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) of the current class, com/atlassian/rm/common/bridges/jira/persistence/JiraDatabaseProviderBridge63, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) for the method's defining class, com/querydsl/sql/SQLQueryFactory, have different Class objects for the type javax/inject/Provider used in the signature
      
        at com.atlassian.rm.common.bridges.jira.persistence.JiraDatabaseProviderBridge63.execute:52
        at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute:36
        at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run:26
        at com.atlassian.rm.jpo.core.plan.sql.QueryDslPlanPersistence.getAllPlans:274
        at com.atlassian.rm.jpo.core.plan.api.DefaultPlanListingService.getAllPlans:60
        at com.atlassian.rm.jpo.rest.service.program.ProgramRestEndpoint.getProgramList:118
        at sun.reflect.NativeMethodAccessorImpl.invoke0:-2
        at sun.reflect.NativeMethodAccessorImpl.invoke:62
        at sun.reflect.DelegatingMethodAccessorImpl.invoke:43
        at java.lang.reflect.Method.invoke:498
        at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke:192
        at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept:83
        at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke:53
        at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept:41
        at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke:53
        at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors:110
        at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch:190
        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch:75
        at com.atlassian.rm.common.rest.mau.MauTrackingDispatcher.dispatch:28
        at com.atlassian.rm.common.rest.permissions.AnnotationPermissionDispatcher.dispatch:49
        at com.atlassian.rm.common.rest.scope.RequestOperationScopeDispatcher.dispatch:25
        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept:302
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept:147
        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept:108
        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept:147
        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept:84
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest:1542
        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest:1473
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest:1419
        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest:1409
        at com.sun.jersey.spi.container.servlet.WebComponent.service:409
        at com.sun.jersey.spi.container.servlet.ServletContainer.service:558
        at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter:159
        at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter:829
        at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter:69
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:43
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilterInternal:22
        at com.atlassian.plugins.rest.module.servlet.RestServletUtilsUpdaterFilter.doFilter:34
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:24
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:24
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:24
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:24
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:24
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter:32
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.analytics.client.filter.UniversalAnalyticsFilter.doFilter:92
        at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter:21
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter:32
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter:80
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter:51
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.labs.botkiller.BotKillerFilter.doFilter:36
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:43
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.executeRequest:92
        at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.doFilter:78
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.security.xsrf.XsrfTokenAdditionRequestFilter.doFilter:46
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.pagebuilder.PageBuilderFilter.doFilter:81
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.CommittedResponseHtmlErrorRecoveryFilter.doFilter:55
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:56
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:43
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.MauEventFilter.doFilter:49
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0:66
        at com.atlassian.seraph.filter.SecurityFilter.doFilter:242
        at com.atlassian.jira.security.JiraSecurityFilter.doFilter:64
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter:94
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.seraph.filter.BaseLoginFilter.doFilter:148
        at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter:77
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter:67
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:56
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:43
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.johnson.JiraJohnson503Filter.doFilter:79
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite:176
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules:145
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest:92
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter:394
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter:30
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter:42
        at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter:21
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter:36
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.lambda$doFilter$0:57
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:56
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:62
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:55
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:43
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter:74
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter:31
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter:39
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at com.atlassian.jira.web.filters.PathMatchingEncodingFilter.doFilter:39
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter:36
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter:25
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter:74
        at com.atlassian.jira.web.filters.JiraFirstFilter.doFilter:57
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at com.atlassian.gzipfilter.GzipFilter.doFilterInternal:115
        at com.atlassian.gzipfilter.GzipFilter.doFilter:92
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:193
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:166
        at org.apache.catalina.core.StandardWrapperValve.invoke:198
        at org.apache.catalina.core.StandardContextValve.invoke:96
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke:493
        at org.apache.catalina.core.StandardHostValve.invoke:140
        at org.apache.catalina.valves.ErrorReportValve.invoke:81
        at org.apache.catalina.core.StandardEngineValve.invoke:87
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke:650
        at org.apache.catalina.connector.CoyoteAdapter.service:342
        at org.apache.coyote.http11.Http11Processor.service:800
        at org.apache.coyote.AbstractProcessorLight.process:66
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process:800
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun:1471
        at org.apache.tomcat.util.net.SocketProcessorBase.run:49
        at java.util.concurrent.ThreadPoolExecutor.runWorker:1149
        at java.util.concurrent.ThreadPoolExecutor$Worker.run:624
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run:61
        at java.lang.Thread.run:748
      
      ===============
      === Request ===
      ===============
      
      URL: /j800/rest/jpo/1.0/programs/list?_=1551827634595
      Type: GET
      Status: 500
      Data: undefined
      
      ===================
      === Client Info ===
      ===================
      
      User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36 
      Local time: Tue Mar 05 2019 17:13:56 GMT-0600 (Central Standard Time)
      
      ===================
      === Plugin Info ===
      ===================
      
      Plugin build: 2.25.0
      
      ===================
      === System Info ===
      ===================
      
      Jira Title: Jira
      Jira Version: 8.0.0
      Agile Version: 8.0.0-DAILY20190121095156
      

      Environment

      • Jira 8 (tested in 8.0.0 and 8.0.1)
      • 2.25.0
      • Timetracker (installed first)

      Steps to Reproduce

      1. Install Jira 8
      2. Install Timetracker
      3. Install Portfolio 2.25.0
      4. Click Portfolio > View Portfolio

      Notes

      This appears to be caused by the fact that Timetracker also installs Querydsl Support for JIRA Plugin. It looks like Portfolio sees this other (incompatible) version of Querydsl and does not install the * querydsl-4.0.7-provider-plugin-1.2.jar* that it normally installs and requires.

      When Portfolio is installed first, there appears to be no problem and both Querydsl versions live side-by-side without any issues.

      Workaround

      As of right now, the only working workaround that we found is to,

      1. Shut down Jira
      2. Remove the jira-querydsl-support-2.0.0.jar file from JIRA_HOME/plugins/installed-plugins
      3. Start Jira
      4. Add querydsl-4.0.7-provider-plugin-1.2.jar to JIRA_HOME/plugins/installed-plugins if it's missing (attaching to this ticket)
      5. Jira Portfolio should now work as expected

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ilay Ivan Lay
              Votes:
              6 Vote for this issue
              Watchers:
              16 Start watching this issue

              Dates

                Created:
                Updated: