The job configuration shows and error in the JIRA Configuration

Article ID:360055445372
2 minute readKnowledge base

Issue

After opening any job configuration page, the following error is presented in the UI

and the Jenkins logs show the following stackstraces:

On start up

2019-12-11 04:04:08.218+0000 [id=26]    WARNING c.c.o.c.p.OperationsCenterRootAction#descriptor: Accessing Extension/Descriptor list prior to safe point in lifecycle. If there is a deadlock on startup here is a smoking gun. Approx 99% of the time this will not cause any issues.
java.lang.AssertionError: com.cloudbees.opscenter.client.plugin.OperationsCenterRootAction$DescriptorImpl is not available yet
    at com.cloudbees.opscenter.client.plugin.OperationsCenterRootAction.descriptor(OperationsCenterRootAction.java:165)
    at com.cloudbees.opscenter.client.plugin.OperationsCenterCredentialsProvider.getCredentials(OperationsCenterCredentialsProvider.java:92)
    at com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(CredentialsProvider.java:412)
    at hudson.plugins.jira.CredentialsHelper.lookupSystemCredentials(CredentialsHelper.java:38)
    at hudson.plugins.jira.JiraSite.<init>(JiraSite.java:278)
    at hudson.plugins.jira.JiraSite.readResolve(JiraSite.java:488)
[...]
2019-12-11 04:04:08.228+0000 [id=26]    WARNING h.ExtensionFinder$GuiceFinder$FaultTolerantScope$1#error: Failed to instantiate Key[type=hudson.plugins.jira.JiraGlobalConfiguration, annotation=[none]]; skipping this component
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Tried proxying hudson.plugins.jira.JiraGlobalConfiguration to support a circular dependency, but it is not an interface.

Opening a job configuration

2019-12-06 22:08:26.999+0000 [id=49]	WARNING	o.e.j.s.h.ContextHandler$Context#log: Error while serving https://jenkins/job/FOLDER/job/JOB_NAME/descriptorByName/hudson.plugins.jira.JiraProjectProperty/fillSiteNameItems
java.lang.AssertionError: class hudson.plugins.jira.JiraGlobalConfiguration is missing its descriptor
	at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1569)
	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)
Caused: java.lang.reflect.InvocationTargetException
	at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
	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)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
  • JENKINS-45789 Use Credentials Plugin for JIRA Global Configuration User

  • SECURITY-1106 Folder-scoped Jira sites in Jira Plugin were able to access System-scoped credentials

Explanation

The problem was introduced in JIRA plugin on version 3.0.1 as part of this Pull Request.

The JIRA plugin in the impacted version performs a credentials lookup when loading its component. This was added as part of JENKINS-45789 (this is deprecated, the lookup should happen when a credential is selected or need to be retrieved. Only the credentials ID should be loaded on startup).

In a controller, this causes the component loading to fail on startup. The credentials lookup will consider the Operations Center Credentials provider (to maybe check for credentials in Operations Center) but the component required are not loaded yet at the point in time.

Resolution

The problem is fixed in JIRA plugin version 3.0.11, so please upgrade the JIRA plugin to that version or later.

That version is available under the CloudBees Assurance Program since version CloudBees CI on modern cloud platforms - Managed controller 2.190.3.2 revision 2.