Best Practices for Managing Jira Application Apps

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


Overview

This article discusses best practices for managing apps in Jira applications. An app is an installable component that supplements or enhances the functionality of Jira in some way. Apps can be maintained using the Universal Plugin Manager.


You may notice that the terms 'app', 'add-on' and 'plugin' all appear in the Atlassian documentation and tools. While the terms are often used interchangeably, there is a difference. A plugin is a type of app (formerly known as an add-on) that can be installed into an Atlassian host application. Plugins are what developers create with the Atlassian SDK.

On this page:

Best Practices

Managing Apps

Governance is important. If you install an app, users start using it and get used to the extra functionality.  If you remove it, you may have unhappy users.  For example, you may install an app for extended JQL functionality. Then you disable it because system has grown, more people are using it and there’s a performance hit. But users have gotten used to the JQL extensions and now all custom JQL will be invalid. Users aren’t happy. The important point is that before you install an app, ensure there’s a business requirement for it, don’t just install any app. Do your due diligence before installing.

Starting with Jira 8.20 the free App Usage for Jira is available for you to help with monitoring your Apps. 

Understand what apps you have installed

Review installed apps and document:

  • Business requirement explaining why the app is installed
  • Who uses the app
  • Who is responsible for decisions regarding the app
Why do I need to do this?

This information will help you to make decisions regarding these apps. For example, when preparing for Jira Application upgrades you see that apps require updating or are incompatible with the new version of Jira. Knowing who uses the apps and who can make decisions regarding the apps will help you to the determine what actions to take.

Use care when evaluating new apps

Use care when responding to requests for new apps.

  • Confirm that the new app has a valid business requirement and does not duplicate functionality that is already present in your instance.
  • Perform evaluations in a test or staging environment.

  • Users are able to discover and request apps using the "Find new apps" page. If desired, disable user requests for apps.
Why do I need to do this?

Users may discover apps and request that they be installed. You might find that the user's needs can be met using functionality that is already available in your Jira instance. Instead of installing a new app you can show the user how to use what is already present.

Evaluating apps will cause changes to your data. You should avoid changing your production data until after you have decided that the app is one you wish to install and keep. Evaluate new apps in a staging environment so that you are not modifying your production data.

You may see unwanted behavior during an app evaluation. Performing the evaluation in a staging environment will prevent your production users from experiencing unwanted behavior.

Changes to Apps

Test app changes

Apps changes should be tested before being applied to your production environment. Changes include:

  • Installing / Uninstalling Apps
  • Enabling / Disabling Apps
  • Updating App version
  • Updating App license



tip/resting Created with Sketch.

Your testing needs will be determined by your own business requirements. A very large instance requiring high stability may need more testing compared to a small instance used by a single team.

Why do I need to do this?

Testing app changes in a staging or development environment will help you to know what to expect when making the change in production. In some cases you may see little or no effect when making the change. In other cases you may see more significant effects.

Examples of behavior seen during app changes include

  • Temporary increases in resource usage
  • Temporary problems using Jira, especially any components related to the app being changed
  • Related or dependent plugins are updated or temporarily disabled

Minor changes, such as updating a license, should be tested to confirm that that the app performs as expected after the change. More significant changes, such as installing and updating apps, may require more in depth testing including performance comparisons and user acceptance testing.

Make changes during maintenance windows

App changes should be performed during maintenance windows to minimize the impact on users.

Why do I need to do this?

Some app changes may not be noticeable to users. Other changes may have a temporary impact and may even prevent users from working while the change is underway.

The results of the change in your staging environment will help you to assess the impact the change will have on production. In some cases you may feel comfortable changing production outside of a maintenance window.

Instances requiring the highest stability are encouraged to always perform changes during scheduled maintenance windows. See related bug: JRASERVER-64908 - Getting issue details... STATUS

Additional Resources

Creating a test environment for Jira

Universal Plugin Manager

Managing Apps

Monitor your apps with App Usage

Last modified on Dec 20, 2023

Was this helpful?

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