Workflow action results in "Could not load FunctionProvider"

Still need help?

The Atlassian Community is here for you.

Ask the community

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

Trying to perform issue workflow actions are resulting in an error similar to:

Could not load FunctionProvider class. Error when changing state from "In Progress"


The following appears in the atlassian-jira.log:

2013-01-09 08:21:30,201 http-8080-45 ERROR admin 501x234436x1 159scgv 172.18.5.19 /secure/CommentAssignIssue.jspa [atlassian.jira.workflow.DefaultOSWorkflowConfigurator] Could not load class 'com.googlecode.jsu.workflow.function.ClearFieldValuePostFunction'
java.lang.ClassNotFoundException: com.googlecode.jsu.workflow.function.ClearFieldValuePostFunction
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	at com.atlassian.core.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:88)
	at com.atlassian.core.util.ClassLoaderUtils.loadClass(ClassLoaderUtils.java:50)
	at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$LegacyJiraTypeResolver.loadObject(DefaultOSWorkflowConfigurator.java:162)
	at com.opensymphony.workflow.TypeResolver.getFunction(TypeResolver.java:87)
	at com.atlassian.jira.workflow.DefaultOSWorkflowConfigurator$JiraTypeResolverDelegator.getFunction(DefaultOSWorkflowConfigurator.java:126)
	at sun.reflect.GeneratedMethodAccessor1408.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareMethodInterceptor.intercept(MultiTenantComponentFactoryImpl.java:230)
	at com.opensymphony.workflow.TypeResolver$$EnhancerByCGLIB$$f5787391.getFunction(<generated>)
	at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1041)
	at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1446)
	at com.opensymphony.workflow.AbstractWorkflow.doAction(AbstractWorkflow.java:564)
	at com.atlassian.jira.workflow.OSWorkflowManager.doWorkflowActionInsideTxn(OSWorkflowManager.java:894)
	at com.atlassian.jira.workflow.OSWorkflowManager.doWorkflowAction(OSWorkflowManager.java:850)

Cause

There is a third-party function on the workflows that the JIRA application expects to find there. When it goes to access that plugin, it fails, and throws the above exception. This happens as the Java Class Loader can't find the plugin - in this example it is the JIRA Suite Utilities plugin and the error is occurring as it is not installed. The suggestion  JRA-44732 - Getting issue details... STATUS  has been raised to improve this functionality.

Resolution

Re-install the plugin:

  • Log in as a Jira Administrator user
  • Navigate to the page ⚙ > Manage apps > Find new apps
  • Search for the add-on JSU Automation Suite for Jira Workflows
  • Install it

(info) If you no longer want to make use of the plugin and its functions, it is still necessary to re-install the plugin. You will then access your workflow and remove all workflow functions associated with the plugin.

Last modified on Jun 27, 2022

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.