Jira Service Management functionalities are not available
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 or other dependency modules (such as the Jira email processor plugin) in the database. These can be found with the following query:
select * from pluginstate where pluginkey like 'com.atlassian%' 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 underlying problem is caused disabled core 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 disabled core modules in the database and restart Jira:
- Stop Jira
Delete the disabled modules' entries from the pluginstate table:
delete from pluginstate where pluginkey like 'com.atlassian%' and pluginenabled = 'false';
- Start Jira
There's an alternative solution that doesn't require database changes or a restart, but it might need some degree of trial and error.
Here's the reference to the UPM REST API used in this alternative solution: UPM REST API
- Navigate to Manage Apps and switch the filter to "Application components" instead of the default "User-installed"
- Expand the greyed-out JSM plugins and take note of their keys.
For example: the key for "Jira Service Management Approvals Plugin" iscom.atlassian.servicedesk.approvals-plugin
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}'
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.
- If the query from the
pluginstate
table showed disabled modules (the format is using a colon ":", likecom.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}}