Uploaded image for project: 'Advanced Roadmaps'
  1. Advanced Roadmaps
  2. JPOSERVER-1537

Exception when excluding issues without the 'edit issues' permission

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for JIRA Portfolio Server. Using JIRA Portfolio Cloud? See the corresponding bug report.

      Problem summary:

      Trying to exclude issues in the final step of the "Create Plan" process will fail if the user do not have EDIT Issue permission in the Permission Scheme or in the Workflow transition used.

      Steps to reproduce:

      1. Create a user that does not have the 'edit issues' permission for a project
      2. Try to create a plan based on that project. In the final step, exclude an issue.
      3. Press 'Done'
      4. An error is shown

      Expected results:

      Provide a clear description of the problem in the UI for users to proceed next step, example:

      "Cannot create plan due to lack of edit privileges for tickets: ......"

      OR, no error thrown. 

      Workaround:
      • Give the user the 'edit issues' permission for the issues they wish to exclude.
      Stack trace:
      java.lang.IllegalArgumentException: (no message)
      
        at com.google.common.base.Preconditions.checkArgument:108
        at com.atlassian.jira.entity.property.BaseEntityPropertyService.setProperty:96
        at com.atlassian.jira.entity.property.DelegatingEntityPropertyService.setProperty:41
        at sun.reflect.GeneratedMethodAccessor1153.invoke:-1
        at sun.reflect.DelegatingMethodAccessorImpl.invoke:43
        at java.lang.reflect.Method.invoke:497
        at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke:26
        at com.sun.proxy.$Proxy358.setProperty:-1
        at sun.reflect.GeneratedMethodAccessor1153.invoke:-1
        at sun.reflect.DelegatingMethodAccessorImpl.invoke:43
        at java.lang.reflect.Method.invoke:497
        at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke:136
        at com.sun.proxy.$Proxy358.setProperty:-1
        at com.atlassian.jpo.env.issues.JiraIssuePropertyService.setProperty:277
        at com.atlassian.jpo.env.issues.JiraIssuePropertyService.add:156
        at com.atlassian.jpo.plan.PlanExcludeIssuesHandler.perform:32
        at com.atlassian.jpo.plan.PlanExcludeIssuesHandler.perform:10
        at com.atlassian.rm.common.persistence.transaction.Registry.run:28
        at com.atlassian.jpo.plan.DefaultPlanService$1.apply:168
        at com.atlassian.jpo.plan.DefaultPlanService$1.apply:87
        at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inTransaction:62
        at com.atlassian.rm.common.persistence.transaction.TransactionHandler.access$000:11
        at com.atlassian.rm.common.persistence.transaction.TransactionHandler$1.apply:35
        at com.atlassian.rm.common.persistence.DefaultDatabaseProvider$1.perform:30
        at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider$1.perform:41
        at com.atlassian.jpo.jira.api.persistence.JiraDatabaseProviderBridge63.execute:66
        at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute:36
        at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run:26
        at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inDatabaseTransaction:28
        at com.atlassian.jpo.plan.DefaultPlanService.createPlan:85
        at com.atlassian.jpo.rest.service.plan.PlanRestEndpoint.postPlan:91
        at sun.reflect.NativeMethodAccessorImpl.invoke0:-2
        at sun.reflect.NativeMethodAccessorImpl.invoke:62
        at sun.reflect.DelegatingMethodAccessorImpl.invoke:43
        at java.lang.reflect.Method.invoke:497
        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:34
        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:47
        at com.atlassian.rm.common.rest.timing.TimingRequestDispatcher.dispatch:44
        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.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:154
        at com.sun.jersey.spi.container.servlet.ServletContainer.doFilter:829
        at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter:68
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:70
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:58
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        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:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:26
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:26
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:26
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:26
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter:26
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter:36
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter:60
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter:92
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter:56
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.labs.botkiller.BotKillerFilter.doFilter:36
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.labs.httpservice.resource.ResourceFilter.doFilter:59
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:70
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:58
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        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:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.security.xsrf.XsrfTokenAdditionRequestFilter.doFilter:49
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.web.filters.pagebuilder.PageBuilderFilter.doFilter:81
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.web.filters.CommittedResponseHtmlErrorRecoveryFilter.doFilter:55
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:61
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:70
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:58
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.web.filters.MauEventFilter.doFilter:52
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.seraph.filter.SecurityFilter.doFilter:242
        at com.atlassian.jira.security.JiraSecurityFilter.doFilter:70
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter:103
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.seraph.filter.BaseLoginFilter.doFilter:148
        at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter:66
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter:79
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:61
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:70
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:58
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter:59
        at com.atlassian.jira.web.filters.johnson.JiraJohnson503Filter.doFilter:24
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        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:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:39
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        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:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter:58
        at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter:61
        at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter:64
        at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter:37
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:70
        at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter:58
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter:74
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter:31
        at com.atlassian.core.filters.AbstractHttpFilter.doFilter:32
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        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:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.startup.JiraStartupChecklistFilter.doFilter:65
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter:36
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        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:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at com.atlassian.gzipfilter.GzipFilter.doFilterInternal:115
        at com.atlassian.gzipfilter.GzipFilter.doFilter:92
        at com.atlassian.jira.web.filters.gzip.JiraGzipFilter.doFilter:47
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter:239
        at org.apache.catalina.core.ApplicationFilterChain.doFilter:206
        at org.apache.catalina.core.StandardWrapperValve.invoke:219
        at org.apache.catalina.core.StandardContextValve.invoke:106
        at org.apache.catalina.core.StandardHostValve.invoke:136
        at org.apache.catalina.valves.ErrorReportValve.invoke:79
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke:610
        at org.apache.catalina.core.StandardEngineValve.invoke:88
        at org.apache.catalina.connector.CoyoteAdapter.service:526
        at org.apache.coyote.http11.AbstractHttp11Processor.process:1078
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process:655
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process:222
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun:1566
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run:1523
        at java.util.concurrent.ThreadPoolExecutor.runWorker:1142
        at java.util.concurrent.ThreadPoolExecutor$Worker.run:617
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run:61
        at java.lang.Thread.run:745
      

      Attachments

        Issue Links

          Activity

            People

              tbarthelemy Thomas
              sbhuiyan shafqat
              Archiver:
              atibrewal@atlassian.com Aakrity Tibrewal

              Dates

                Created:
                Updated:
                Resolved:
                Archived: