Jira server throws WorkflowException when transitioning issues
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Workflow transition fails with these messages in the atlassian-jira.log
:
http-nio-8080-exec-12 ERROR username 976x8516x1 18h1zmi 192.168.1.2,0:0:0:0:0:0:0:1 /secure/CommentAssignIssue.jspa [c.a.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.innovalog.jmwe.plugins.validators.CommentRequiredValidator'
java.lang.ClassNotFoundException: com.innovalog.jmwe.plugins.validators.CommentRequiredValidator
http-nio-8080-exec-12 ERROR username 976x8516x1 18h1zmi 192.168.1.2,0:0:0:0:0:0:0:1 /secure/CommentAssignIssue.jspa [c.a.jira.workflow.OSWorkflowManager] Caught exception while attempting to perform action 171 from workflow 26206 on issue 'SI-1234'
Diagnosis
For troubleshooting this problem, you can check the logs and export the workflow as XML.
If you are unsure which is the affected workflow for you to export, you may go to Jira administration (gear icon) > Issues > Workflow Schemes, and to confirm which workflow applies to the affected issue (project + issue type).
Or you can take the id from the error and run the following query to get the workflow name from the database:
SELECT id, workflowname
FROM jiraworkflows
WHERE id = '26206';
In this example, if 'SI-1234' is an Incident issue type, the appropriate workflow would be SI: Incident Management workflow for Jira Service Management.
- In the workflow view select edit.
- Export to xml
Open the exported xml file and look for action 171 in the xml file
<action id="171" name="Done">
This action will show the class for the action
<arg name="class.name">com.innovalog.jmwe.plugins.validators.CommentRequiredValidator</arg>
Cause
Workflow has a validator that refers to a specific class and this class comes from a third-party plugin. It can happen with different plugins using the validator class as well:
com.innovalog.jmwe.plugins.validators.CommentRequiredValidator is a validator class that is from the JMWE plugin.
Resolution
There are four ways to fix it:
- Suggestion 1:
- Install the latest compatible version of this plugin.
- Suggestion 2:
- Remove the validator that refers to this plugin from your workflow.
- Suggestion 3:
- Check in the workflow what step is using this validator class. You may want to remove if it's an unnecessary validator.
- Suggestion 4:
- Check that the application is enabled.