Symptoms
-
When trying to save a job or modify a configuration for the JIRA plugin I am getting the following error:
java.lang.AssertionError: class hudson.plugins.jira.JiraGlobalConfiguration is missing its descriptor at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1545) at hudson.plugins.jira.JiraGlobalConfiguration.get(JiraGlobalConfiguration.java:16) at hudson.plugins.jira.JiraProjectProperty$DescriptorImpl.doFillSiteNameItems(JiraProjectProperty.java:110) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) Caused: javax.servlet.ServletException
Cause
The above error is due to your Jenkins instance being unable to properly read the Global Configuration file for the JIRA plugin
Steps To Fix
CAUTION This will cause you to lose your existing JIRA global configuration
Navigate to your $JENKINS_HOME
and rename the file hudson.plugins.jira.JiraGlobalConfiguration.xml
to hudson.plugins.jira.JiraGlobalConfiguration.xml.bak
. Then you will need to restart the Jenkins instance but will have lost the configuration from the Manage Jenkins> Configure System
page. Just replace it again with the previous JIRA details and your instance should work normally again.