Blog

Uninstall Jira Service Management – simple workaround (10.0.0 and above)

In this article, we are sharing a simple workaround to uninstall Jira Service Management 10 if you're getting unexpected errors.

Christian Zendo

Uninstall Jira Service Management Error

In this article, we are sharing a simple workaround to uninstall Jira Service Management 10.x.x if you are getting unexpected errors.

Since the release of Jira Service Management (JSM) version 10.0.0, users have encountered an unexpected issue: the uninstall button on the “Versions & Licenses” page (see <jira-url>/plugins/servlet/applications/versions-licenses) no longer functions as intended. This is frustrating for administrators who wish to remove JSM from their instances but are unable to do so through the standard process. If you’re facing this issue, you’re not alone. This problem is documented at Atlassian’s Jira, and until an official fix is released, we’ve provided a workaround to help you uninstall JSM manually. For reference, you can view the Atlassian ticket detailing the issue here: Jira Issue JRASERVER-78029.

What does the error look like?

When trying to uninstall Jira Service Management through the usual „Versions & Licenses“ page using the uninstall button, you will get this error:

„An unexpected error occurred. Refer to the logs for more information.“.

To our information this currently impacts all Jira versions starting from 10.0.0 and later. While most admins encounter this issue when trying to uninstall JSM, please note that Jira Software is also affected.

What’s the underlying issue?

When you inspect the REST calls after a failed uninstall attempt, you’ll notice that the REST call responsible for the uninstall action receives a “403 Forbidden” status. You can view this by opening the developer tools in your browser, specifically the network tab, to observe what happens when you click the uninstall button. If you switch to the server side, you will see the reason for the 403 status. This is what my call looks like in the logs:

(…) /rest/plugins/1.0/uninstall; (…) WARN (…) /rest/plugins/1.0/uninstall [c.a.p.r.v.security.xsrf.XsrfResourceFilter] XSRF checks failed for request: https://(url)/rest/plugins/1.0/uninstall

As we can see in the logs, this error is caused by failed Cross-Site Request Forgery (XSRF) checks for the uninstall requests we sent previously by clicking the uninstall button.

Step-by-step guide to the Workaround

To bypass the XSRF checks, you can modify the uninstall request by adding an additional header. Follow these steps to add the necessary header in your browser’s network tab:

  1. open the Versions & Licsenses page (<jira-base-url>/plugins/servlet/applications/versions-licenses)
  2. open the network monitor in your browser (for Firefox you can right-click the page and click „inspect“, then choose the „network“ tab)
  3. click the uninstall button
  4. you should now see the failed uninstall request with status 403
  5. now right-click the failed request and choose the option to „edit and resend“ the request.
  6. In the list that now pops up, add an extra header entry with this key-value pair: X-Atlassian-Token: no-check
  7. Now send the request again.
  8. Repeat if neccessary: Occasionally, the first attempt may fail. If so, repeat the process once or twice until the uninstall call receives Status 201 (Created).
  9. The uninstall process may take a while. You can follow the progress through the logs or by occasionally refreshing the page. If the process is finished, the page will indicate that JSM is still licensed but not installed. You will additionally see the regular pop-up telling you to reindex because of configuration changes.

Alternative Workarounds

If this workaround isn’t effective or suitable for your environment, you have a couple of other options:

  • You can send the uninstall REST call directly through a tool like Postman. This method is useful if you’re comfortable with API requests or need a more flexible way to manage the headers and parameters of the request. In Postman, configure a request to the following endpoint: POST https://<your-jira-instance>/rest/plugins/1.0/uninstall
  • Another approach is to remove the JSM .jar files directly from the „installed-plugins“ directory on your server. This process involves stopping the Jira instance, locating the specific .jar files associated with JSM, and then deleting them. The path to this folder is found in the <jira-home>/installed-plugins directory. Refer to Atlassian documentation or the Jira ticket JRASERVER-69556 for more details on locating and safely removing these files.

Gemeinsam gestalten wir Ihre digitale Zukunft.

Kontakt aufnehmen