Jira Service Management functionalities are not available

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

    

Summary

After upgrading Jira Service Management, some functionalities are not available. For example, project administration shows only menus available for Jira Core / Software, but Service Management functionalities are missing (e.g. SLAs, Automation):



Environment

Jira 4.x

Diagnosis

  • There are disabled Service Management modules in the database. These can be found with the following query:

    select * from pluginstate where pluginkey like 'com.atlassian.servicedesk%' and pluginenabled = 'false';
  • Plugin modules startup issues are being logged during Jira startup. For example, a Service Management module cannot be enabled due to unresolved dependencies:

    2022-07-15 16:23:17,612+0000 JIRA-Bootstrap INFO      [c.a.plugin.util.WaitUntil] Plugins that have yet to be enabled: (1): [com.atlassian.servicedesk.frontend-webpack-plugin], 310 seconds remaining
    2022-07-15 16:23:18,548+0000 Spring DM Context Creation Timer WARN      [o.e.g.b.e.i.dependencies.startup.DependencyWaiterApplicationContextExecutor] Timeout occurred before finding service dependencies for [NonValidatingOsgiBundleXmlApplicationContext(bundle=com.atlassian.servicedesk.frontend-webpack-plugin, config=osgibundle:/META-INF/spring/*.xml)]
    2022-07-15 16:23:18,549+0000 Spring DM Context Creation Timer ERROR      [c.a.p.osgi.factory.OsgiPlugin] Plugin 'com.atlassian.servicedesk.frontend-webpack-plugin' never resolved service '&projectIncidentConfigurationManager' with filter '(&(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.ProjectIncidentConfigurationManager)(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.ProjectIncidentConfigurationManager))'
    2022-07-15 16:23:18,549+0000 Spring DM Context Creation Timer ERROR      [c.a.p.osgi.factory.OsgiPlugin] Plugin 'com.atlassian.servicedesk.frontend-webpack-plugin' never resolved service '&opsgenieConfigurationManager' with filter '(&(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.OpsgenieConfigurationManager)(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.OpsgenieConfigurationManager))'
    2022-07-15 16:23:18,549+0000 Spring DM Context Creation Timer ERROR      [c.a.p.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.atlassian.servicedesk.frontend-webpack-plugin'
    org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.servicedesk.frontend-webpack-plugin' has timed out waiting for (|(&(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.OpsgenieConfigurationManager)(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.OpsgenieConfigurationManager))(&(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.ProjectIncidentConfigurationManager)(objectClass=com.atlassian.servicedesk.internal.api.incidentmanagement.manager.ProjectIncidentConfigurationManager)))
    	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:489)
    	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:54)
    	at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:109)
    	at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
    	at java.base/java.util.TimerThread.run(Timer.java:506)

Cause

The cause for this problem are disabled Service Management modules that can be identified with the query given in the Diagnosis section. If specific modules are disabled, a major part of the application will not be able to start and perform correctly.

Solution

The solution is to enable the disable JSM modules in the database and restart Jira:

  1. Stop Jira
  2. Delete the disabled modules' entries from the pluginstate table:

    delete from pluginstate where pluginkey like 'com.atlassian.servicedesk%' and pluginenabled = 'false';
  3. Start Jira


There's an alternative solution that doesn't require database changes or a restart, but it might require some degree of trial and error.
Here's the reference to the UPM REST API used in this alternative solution: UPM REST API

  1. Navigate to Manage Apps and switch the filter to "Application components" instead of the default "User-installed"
  2. Expand the greyed-out JSM plugins and take note of their keys.
    For example: the key for "Jira Service Management Approvals Plugin" is com.atlassian.servicedesk.approvals-plugin
  3. For each plugin, run the command below, replacing <plugin_key> for the actual key.

    curl -u myusername -vv -k --request PUT 'https://myjira.com/rest/plugins/1.0/<plugin_key>-key' --header 'Content-Type: application/vnd.atl.plugins.plugin+json' --data '{"enabled": true}'

    Using out example from before:

    curl -u myusername -vv -k --request PUT 'https://myjira.com/rest/plugins/1.0/com.atlassian.servicedesk.approvals-plugin-key' --header 'Content-Type: application/vnd.atl.plugins.plugin+json' --data '{"enabled": true}'

    (info) If Jira returns a 500 error, it probably means that this plugin depends on another one. Just skip it, enable the other ones and come back to it later.

  4. If the query from the pluginstate table showed disabled modules (the format is using a colon ":", like com.atlassian.servicedesk:moduleName), these can be enabled by using a similar curl/REST API request, to the endpoint {{/rest/plugins/1.0/<plugin.key>-key/modules/<module.key>-key}}


Last modified on Dec 8, 2023

Was this helpful?

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