How to perform an app / plugin reset in Jira Data Center

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

Jira Data Center contains mechanisms to manage its plugin directories. Obsolete JAR files should be automatically deleted during upgrades as updated plugins are installed. However, this may fail in some edge cases and require manual cleanup.

This procedure will reset Jira Software-specific (boards/plans/etc.), Jira Service Management-specific (service portals/Assets/etc.), and Marketplace app files. This will not affect user/project data, configurations, or license keys.

Uses

You may consider using this approach:

  1. As a last-resort approach to resolve plugin-related startup errors (🛟 "We haven't been able to start all the required system plugins" error).
  2. To repair missing Jira Software or Jira Service Management product-specific features.
  3. To remove previous plugins left behind during zero downtime upgrades (ZDU) (JRASERVER-72717 - Jira should remove old jar files of plugins from the shared home as part of an upgrade task when using ZDU).
  4. To delete obsolete plugins (JRASERVER-76918 - HipChat for Jira integration breaks Jira admin pages).

Jira 9 Upgrade Since downtime is required, you can combine these steps with your Jira 8→9 platform upgrade. This is an excellent cleanup opportunity and may avoid potential upgrade complications.

Assumptions

For this article, "plugins" refer to:

  1. Jira Software (Agile) product-specific JAR files. For example: jira-greenhopper-plugin-9.12.11.jar and jira-portfolio-9.12.11.jar.
  2. Jira Service Management product-specific JAR files. For example: jira-servicedesk-application-5.12.11.jar and psmq-plugin-5.12.11.jar.
  3. Marketplace app JAR files. For example: plugin.7923344442632600209.groovyrunner-8.32.0.jar.

These files are stored in Jira's home (single-node DC) or NFS shared home (clustered DC). User/project data, configurations, and license keys are stored in the database. Some third-party app configurations may live in the shared home, but we won't be touching that.

JSW + JSM refers to installations with both Jira Software (JSW) and Jira Service Management (JSM) products installed and licensed. This assumes Jira is installed/upgraded using the Jira Software distributable and the JSM OBR. This is the approach suggested on Upgrading Jira (manual).

Environment

Any Jira Data Center (DC) installation. This includes Jira Software standalone, Jira Service Management standalone, and dual-licensed. Single-node DC and clustered DC are both applicable.

Solution

This procedure must be performed during a complete outage maintenance window. We suggest combining this procedure with a platform upgrade.

Make a list of your Marketplace apps. You can find this at ⚙️ (gear icon) > Manage apps > Manage apps. These apps will not be automatically reinstalled. Existing licenses and settings will be restored once the app is reinstalled.

  1. Stop the entire Jira cluster.
  2. Remove all plugin/module status flags from the database:

    TRUNCATE TABLE pluginstate;
  3. Delete (or move) the following directories from the shared home. Skip this step on non-clustered environments.
    1. <shared-home>/plugins/installed-plugins - Plugin JAR files. Steps 6, 8, and 11 will repopulate this.
    2. <shared-home>/plugins/.bundled-plugins - Plugin cache. Rebuilt upon next startup.
    3. <shared-home>/plugins/.osgi-plugins - Plugin cache. Rebuilt upon next startup.
  4. Delete (or move) the following directories from each node's local home
    1. <local-home>/plugins/installed-plugins - Plugin JAR files. Steps 6, 8, and 11 will repopulate this on non-clustered environments.
    2. <local-home>/plugins/.bundled-plugins - Plugin cache. Rebuilt upon next startup.
    3. <local-home>/plugins/.osgi-plugins - Plugin cache. Rebuilt upon next startup.
    4. <local-home>/plugins/install-app-info - Record of previous product-specific JAR file installations.
  5. Jira 9 Upgrade Ensure you first set the appropriate system config properties and JVM flags to prevent a full reindex. Otherwise, you'll need to perform a second full reindex after installing Marketplace apps. (Upgrading Jira Server to 9.4)
  6. Start a single Jira node.
  7. Login to Jira.
  8. JSW + JSM  Navigate to ⚙️ (gear icon) > Applications and install Jira Service Management via the install button next to the "is licensed but not currently installed" banner or with an OBR file. Wait for the process to completely finish.
  9. JSW  Verify that boards and plans are present in the navigation bar.
  10. JSM  Verify that customer portals and Assets are present.
  11. Reinstall any Marketplace apps from ⚙️ (gear icon) > Manage apps > app > Buy now. This will re-install the Marketplace app (latest version) and restore existing licenses/settings.
    1. Depending on the Marketplace app's version before this reset, the app may perform schema upgrades.
    2. For air-gapped environments, you'll need to re-upload JAR/OBR files (Installing Marketplace apps / How to re-enable plugin upload in Jira Data Center).
  12. Jira 9 Upgrade Perform a full reindex.
  13. Start the remaining nodes.


Last modified on Jan 22, 2025

Was this helpful?

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