Jira

Best Practices for reducing Jira customizations and overcoming common challenges

Written by
Gal Fatal
Atlassian expert & Community leader
May 30, 2023
9
min read

Table of Contents

View all guides

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

This is some text inside of a div block.

As a Jira administrator responsible for managing a server or Data Center for an extended period, you may have experienced the impact of accumulating data and customizations over time. This can lead to various issues, such as decreased performance and difficulty in tracking and resolving user requests.

Several factors could contribute to this situation. One major cause is the age of the Jira server, as years of usage can lead to a buildup of data and customizations. Additionally, if regular maintenance and cleaning is not performed, data and customizations will continue to accumule, expanding the issues.

There are multiple reasons why a Jira server can become flooded with endless customizations. In addition to the age of the Jira server and the amount of data accumulated, the number of Jira administrators in an organization and their level of collaboration can also play a significant role.

If there are more than two or three Jira administrators with varying levels of expertise in different geographical locations, there will likely be more customizations than necessary. Additionally, the turnover of Jira administrators can contribute to extra customizations, as new administrators have a different understanding of existing customizations and may create new ones.

Cleaning up a Jira server can be a significant investment in terms of time and resources, which can be challenging to accomplish when the server is in constant use. As a result, this issue is common among organizations that have been using Jira for a couple of years and have a lot of usage and customizations. 

Furthermore, cleaning your data and customizations is not always the most urgent task for the Jira administrator. After all, if Jira is “working”, it’s hard to make the decision to invest time and resources in cleaning the instance—it’s just not the top priority. This is why many enterprises find themselves with a bloated Jira server containing vast amounts of data and customizations.

Experience the Ease & Confidence of NetSuite Customizations with Salto

Salto configuration manager for Jira

Push changes from sandbox to production

Start free 30-day trial ≥

So, what are the issues that over-customization can cause?

Performance impact

Users may experience slow loading times for pages, apps, and reports when a Jira instance has thousands of customizations. For Jira administrators, over-customization can cause pages to take much longer to load, making it challenging to manage the instance effectively. For example, when exploring or accessing the custom fields page, it can take several minutes to load if there are too many custom fields (1000+), causing delays and decreased efficiency. Furthermore, performance issues may extend to other areas of Jira, such as search and indexing, leading to significant delays in retrieving information. As an example, see below the impact of increasing custom fields on response time per action:

Managing custom fields in Jira effectively - Atlassian documentation

        

Difficulties with filters and reports

Over-customization can also make creating useful reports in Jira challenging, especially when there are numerous workflows, issue types, custom fields, and other customization options. This can confuse users and make it almost impossible to filter the correct information needed to generate meaningful reports. For example, consider a scenario where a Jira user needs to filter issues with "waiting for vendor" status. Over time, different Jira administrators added new statuses relating to vendor status as they did not know the current function of the other statuses. 

With too many options to choose from, the user may face difficulties selecting the correct options and generating a query that accurately reflects the required information. 

Administration overhead 

Jira administrators can become extremely frustrated when the amount of customization in their instance becomes overwhelming. Managing customizations is a common task for Jira administrators, but it can be difficult to make changes to existing customizations without a thorough understanding of their underlying structure and dependencies. In some cases, reverse engineering may be necessary to understand complex customizations and make the necessary changes. This can be a time-consuming and frustrating process, as it requires a detailed understanding of the customization's components and how they interact with one another.

Usability issues 

Over-customization can have a negative impact on usability. For example, if a screen has too many fields, it can become difficult for users to update or effectively query information. As more fields are added over time, the screen can become increasingly overwhelming and confusing, leading to errors and frustration. Balancing customization and simplicity is important to ensure a positive user experience.

Challenges when migrating to the cloud 

If you plan to migrate your Jira instance to the cloud, it’s recommended to clean up your instance prior to doing so in order to ensure a smooth and successful migration. Cleaning the Jira instance means removing unnecessary data, elements, and customizations no longer required and reducing the number of needed customizations to as few as possible. By reducing the number of customizations, you can simplify the migration process and reduce the risk of issues arising during or after the migration. 

Recommendations for reducing your customizations

Archive old projects

Archiving projects can improve the performance of your Jira instance because once you archive, the Project data will be ignored in the index. Project archive is reversible, so the risk with archiving is low. Search for old projects that may not be in use and archive them, after which they will no longer appear in project pickers, lists of projects, search results, or JQL auto-complete. Apart from performance improvement, this will ease the searches for projects and issues for the users. 

See Archive a project for more information and instructions on archiving and restoring a project.

Delete old issues

In general, it is not recommended to delete issues in Jira because once an issue is deleted, it cannot be recovered. Jira permanently removes the issue from the database, leaving no trace of it. However, when you have ancient issues that have been inactive for a few years, it may be worth deleting them to reduce the amount of data in your instance. It is important to note that when planning a migration to the cloud, moving ancient and unnecessary issues is not recommended. It is better to clean up your instance before migrating to the cloud to avoid unnecessary data transfer and potential performance issues.

To analyze which issues are candidates to delete, you may want to export a list of issues to CSV format and then manipulate the list offline. But, keep in mind that Jira only supports exporting up to 1,000 issues. So, if you need to export more than 1,000 issues, you may want to use an app that supports that, like Exporter - Export Issues to Excel CSV PDF, in order to overcome the Jira limitation and export more than 1,000 issues each time. The app also issues data such as transition logs, comments, and attachments that can give you the ability to enhance your report.

Reduce the number of custom fields

Reducing the number of custom fields should be prioritized, as having many custom fields can significantly slow down your Jira instance. Moreover, it can negatively impact the overall usability and reporting capabilities, making it difficult for users to navigate and retrieve the necessary information efficiently.

For example, imagine that over a few years many custom fields with similar names were created by Jira administrators:

Choosing the right field in this case is confusing and may bring the wrong data.

Analyzing the usage of custom fields 

In Jira Data Center 8.16 and later, the Custom fields page includes new columns that show the usage of your custom fields—how many issues are actually using them and when the last value was made. You can sort by these columns and use additional filters for value updates to quickly find suitable candidates for deletion.

You can use Jira's built-in Custom field optimization  available in Jira DataCenter. Custom field optimization scans your custom fields and highlights those that might need to be misconfigured or not used too often so you can decide if they're worth keeping.

In addition, you can use third-party apps such as Custom Field Toolbox for Jira, providing in-depth analysis of the use of custom fields in issues and various Jira configuration objects, such as screens, workflows, saved filters, etc. This analysis allows you to delete unnecessary fields without losing important information and side effects and thus optimize the performance for your instance.

To find whether you have a custom field dependency with other elements, you can use an app like Salto that explores your configuration and presents element dependencies. The advantage of this app is that you can see all the element dependencies in your instance, including custom field dependencies and other element dependencies you may want to analyze. Another app that can assist with analyzing the usage of custom fields and other elements is Optimizer for Jira, which helps to configure and clean up Jira projects and configurations.

Another way to find custom fields that are candidates for deletion is by using SQL to see a list of custom fields with conditions. For example, this query returns all custom fields that have been used fewer than five times.

With this information, you can continue investigating the need for those custom fields if the usage is so low.

To optimize your Jira instance, it's worth considering deleting custom fields that meet certain criteria. Here are some guidelines:

Identify custom fields that are not in use, have low usage, were not updated for a long time, or are not on any screen. Check for fields with similar names and consider merging them into a single field. This will simplify your configuration and make it easier to manage. Look for fields with the exact same values and consolidate them into one field. 

Points to remember before deleting a custom field:

When you delete a custom field, it’s gone forever, and this includes all data stored against this field.

If a custom field is used on boards, filters, and workflows, deleting it might also affect these items. 

Ways  to delete custom fields:

The simplest way (with administration permissions) is to go to Administration > Issues, and select Custom fields. Find your custom field, and select Actions  > Delete.

If you want to use the command line there is a simple way to delete the custom fields using the 

Jira Command Line Interface (CLI) app, with the removeCustomField function. Provide the custom field name/id to the below CLI action and run:

Reduce the number of other elements

While the number of custom fields can yield significant improvement in performance and usability, reducing the number of other elements, such as boards, workflows, workflows statuses, screens, issue types, roles, and more, can also bring improvement. 

Check out more apps that can assist with analyzing your data, like Projectrak - Take control of your projects in Jira, which offers you more control over your project and, in this case, the option to save time with powerful bulk Operations. Another app, Excel-like , allows you to see and edit your data faster and more conveniently, which may help to analyze your data. Read more about How to choose the best app from Atlassian Marketplace to get tips on choosing the best app for your needs.

Tips for limiting your customizations:

  • Limit the number of administrators on your instance
  • Create project templates 
  • Reuse existing fields and other elements when possible
  • Make the field names as generic as possible
  • Archive a project when it’s not necessary anymore
  • Delete ancient issues from time to time
  • Use apps to help you analyze and optimize your customizations

Salto configuration manager for Jira

Push changes from sandbox to production

Start free 30-day trial ≥

Conclusion

Adding more and more customizations to your Jira instance can impact its performance and usability. As a Jira administrator, it is crucial to prioritize maintaining high performance and optimizing the usage of Jira elements. Regularly cleaning your data and removing unused elements is necessary to keep your instance in optimal condition.

This practice becomes even more critical if you’re planning to migrate to the cloud. By reducing the size of your instance and removing unnecessary elements, you’ll help to streamline the migration process and ensure a smooth transition.

Written by
Gal Fatal

Gal Fatal has over ten years of experience in DevOps, ALM solutions, and Agile development using Atlassian solutions. Gal is a recognized expert in Atlassian tools, holding five different Atlassian certifications. He is leading the Atlassian community in Israel, where he has made significant contributions to the development and growth of the community in Israel over the past five years.

Written by