Workflows Does Not Show Transitions After JIRA Upgrade
症状
After upgrade to JIRA 5.0+ from earlier versions the transitions buttons will not appear when you view an issue. This is applicable for issues which are having one of the pre-conditions set for 'User in Group' condition (from the plugin JIRA Misc Workflow Extensions)
atlassian-jira.log
に次のエラーが返される。
java.lang.NoClassDefFoundError: com/opensymphony/user/EntityNotFoundException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getSortedMatchingConstructors(ConstructorInjectionComponentAdapter.java:229)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getGreediestSatisifableConstructor(ConstructorInjectionComponentAdapter.java:76)
at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:193)
at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:45)
at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:298)
at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:113)
at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:91)
at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$LegacyJiraTypeResolver.loadObject(DefaultOSWorkflowConfigurator.java:168)
at com.opensymphony.workflow.TypeResolver.getCondition(TypeResolver.java:73)
at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$JiraTypeResolverDelegator.getCondition(DefaultOSWorkflowConfigurator.java:115) <+3>
at java.lang.reflect.Method.invoke(Unknown Source)
診断
The workflow transition buttons will not be displayed while viewing the issue even though the user has the required permissions to perform the transitions.
原因
From JIRA 5.0+ onwards the internal classes that are used for user/group management is changed and the workflow will internally use these class names. This causes JIRA to throw an exception while processing the workflow XML.
ソリューション
- Edit the workflow which is having this issue
Locate the transitions that are having this pre-condition set and delete and re-add the pre-condition.
Note that you need to be a JIRA administrator to update the workflow transitions.