Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.0.3, 2.2.2, 2.2.4, 2.3.0
-
Severity 3 - Minor
-
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
- relates to
-
JSWCLOUD-19213 Exception when excluding issues without the 'edit issues' permission
- Closed