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)
Environment
-
CloudBees CI (CloudBees Core) on modern cloud platforms - Managed controller
-
CloudBees CI (CloudBees Core) on traditional platforms - Client controller
-
CloudBees Jenkins Enterprise - Managed controller
Issues Related
-
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.