Disabled apps or modules are enabled after restarting Jira

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Apps' and modules' state must persist during Jira application restart, according to the state defined in the pluginstate database table.
For example, if the Jira administrator disables a specific App (aka plugin), then restarting Jira should keep the same App disabled.

This article describes a situation on which an App, or a module,  doesn't follow the state of an App after the application restart.

Diagnosis

Consider the following characteristics:

  • An App is disabled by the Jira administrator through UPM.
  • After restarting Jira, the administrator finds that the same App is now enabled.
  • Checking the pluginstate database table shows that the expected state for the App is to be disabled.
  • On multi-node deployments, the state of the App could be different among nodes; i.e. enabled on some nodes (that were restarted), but disabled on other nodes (that weren't restarted).


Execute below query to list the disabled Apps and modules. 

select * from pluginstate where pluginenabled = 'false';

For e.g. when View Issue Ops Bar Work Link from Issue Operations Plugin is disabled, below is the expected output

pluginkey

pluginenabled

"com.atlassian.jira.plugin.system.issueoperations:log-work"
"false"

Cause

This behavior is known to occur due to changes introduced into Jira plugins on the propertyentry table. For example, disabling the modules of Scrum and Kanban template to change the display/rendering of Agile boards.

Execute below query to check for custom changes introduced on the propertyentry table.

select * from propertyentry where property_key like 'jira.plugin%';

Query showing custom changes introduced in the propertyentry table

99998    "jira.properties"	1	"jira.plugin.state-.com.pyxis.greenhopper.jira:gh-kanban-template"	5
99999    "jira.properties"	1	"jira.plugin.state-.com.pyxis.greenhopper.jira:gh-scrum-template"	5

Solution

Delete the custom changes from the propertyentry table on jira.plugins and perform a restart. You can obtain the id from above query. 

Always back up your data before performing any modification to the database. If possible, try your modifications on a test server.

  • Stop Jira following your standard procedure.
    • If running Jira on multi-node deployment, stop the application on all nodes.
  • Execute below queries to delete the entries based on the ID's identified on the previous section.
DELETE FROM propertystring WHERE id = 99998;
DELETE FROM propertystring WHERE id = 99999;
DELETE FROM propertyentry WHERE id = 99998;
DELETE FROM propertyentry WHERE id = 99999;
  • Start Jira following your standard procedure.
  • Navigate to Manage Apps page and verify the target App or module is now disabled. 


Last modified on Feb 12, 2025

Was this helpful?

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