transparent background
April 28, 2020

Managing Jira Data Center at Scale with Automation

AD
Andra Dinu 7 minute read

As your business scales, so does your Jira. It can quickly go from a clean and organised collaboration hub to a massive web of projects and outdated issues. Switching to Jira Data Center will give you high availability, better performance, and scalability. But, when you have an instance with millions of issues and thousands of users, you’re very likely to get serious admin headaches around:

In this post, we take a look at each of these Jira Data Center admin pain points and show you a few ways in which you can use automation to solve them.


Upkeep and organisation

With teams generating huge amounts of tickets, projects, issues, and subtasks, it can become challenging to find the right information and weed through tickets that are no longer relevant - not to mention the accompanying slow-down in performance.

Declutter with regular archiving 

Clutter of epic proportions is a typical problem of large Jira instances. One of the best ways to deal with it is by archiving issues that are no longer relevant. Duplicates of tickets closed a long time ago, old support tickets where the customer never responded, 10 year old tasks no longer needed which should be archived. The potential for clutter is endless.

In big instances, archiving can be a painful mission. Out-of-the box, Jira Data Center allows admins to archive up to 1000 issues at one time, in a single project. To archive 1 million issues, you would need to manually repeat the task 1000 times - not ideal for a busy admin.

The Issue Archiving Job function in ScriptRunner allows admins to set up and run an automatic crawl through the instance and archive old issues, no longer used. There is no issue limit with this function, it can run across multiple projects and it can be scheduled regularly. It takes just 2  minutes to set up, no coding required. Let’s see it in action:


Governance

In a large organisation with 20+ cross-functional and platform teams, standardisation is paramount. If each team has different structures and workflows, aligning requirements with work delivered and reporting milestones is extremely difficult, not to mention the huge amount of manual admin overhead involved.

Standardise and automate hundreds of workflows

To ensure the same standards are followed in every project and each workflow stage follows the right governance, you can start by using Jira’s advanced workflow configuration.

To go one step further, you can use ScriptRunner’s built-in conditions, validators and post-functions to supplement Jira’s out-of-the box capabilities. Letting you automate part of your workflows and making sure no step in the process is missed.

 Common ScriptRunner workflow automations at scale: 
  • auto-generate subtasks every time a task is created
  • only allow issues to be moved to ‘done’ if all subtasks are complete
  • auto transition all parent tickets once all subtasks are resolved

Watch this deep dive into workflow automation to discover more things you can achieve: 

Workflow standardisation is also a good way to avoid Jira system degradation: the more workflows that are standardised across the entire system, the less features there are and fewer screens & fields to be loaded every time an issue is created, edited or closed.

Automate regular admin tasks

It’s not uncommon for teams of 3-4 admins of large data center instances to spend over 60 hours each week doing regular maintenance tasks, to the detriment of larger strategic projects. 

To avoid this, one trick is to not let your tasks pile up. Block time slots in your calendar and set up regular reminders to complete tasks before they build up. You can also offload some tasks to the project owners via project roles.

You can also automate almost any regular admin task in your instance using ScriptRunner. Three of our favourite automation examples are:

  • Automatically close all issues that have been inactive for over 1 year
  • Automate email reports to project owners letting them know how many issues are unassigned, out of date, duplicate, etc 
  • If a task has been opened but not assigned for seven days, automatically give the issue a priority status.

escalation services close example

Regular scheduled job in ScriptRunner to find and close issues that have no customer reply in over a year.

 

Performance management

Keeping the instance running smoothly and all users happy is not a task for the faint of heart. 

While you must make sure your teams follow standard processes, they also need enough freedom to customise how they work at project level (e.g through use of different configurations and apps).

Troubleshooting user issues at lightning speed

The standard way to manage permissions is to set up different settings for admins and non admins - where non-admins have all global permissions except admin, bulk change and system admin permissions. Unfortunately, this setup means that project managers can’t change permissions within their projects, meaning they will need help from their Jira admin.

As a vast majority of reported user bugs have to do with user permissions, a lot of work will go in to diagnosing permission issues of your 2000+ users. 

You can spend a lot of time looking at screen grabs and chatting over slack with users,  trying to understand exactly what the problem is, or you can use Scriptrunner’s one-click solution. The admin can impersonate the reporter’s permissions so they can immediately replicate the user’s actions, see what they’re seeing, and quickly identify and solve the problem.This will drop time spent on troubleshooting user issues from hours each week, to under 30 minutes.

Screenshot 2020 04 15 at 11.39.22‘Switch to a different user’ will save you hours spent troubleshooting each week

Keep Data Center pricing from scaling out of control by disabling inactive users  

You add a few extra users to your Jira instance and before you know it you’ve jumped up to the next user pricing tier. Bringing with it a steep price increase of tens of thousands of pounds. So, keeping a close eye on your inactive users so you can disable them quickly is essential.

Setting up regular reminders to find and disable inactive users is a good start, but it can get very tedious when you have an instance with thousands of users - especially when every new hire gets assigned a Jira account by default. 

Luckily, ScriptRunner has a simple solution. Set up a script that will run at regular intervals and deactivate those users that have been created a long time ago (you determine if that means 100 days or 3 years) and never logged in.

Ready-made scripts to kick-start your automation in the Adaptavist Library

ScriptRunner offers a large array of built-in functionalities accessible without need to add a  single line of code, and most of the examples above fit that category. But ScriptRunner can do even more - by using Groovy code you can unlock unlimited possibilities to automate and expand your Data Center instance.  

A great place to search and access community sourced, tested.groovy scripts that can be copied and pasted directly into ScriptRunner is the Adaptavist Library. Don’t worry if you’re not a code expert, you will also find step-by-step instructions on how to use the code.

Check out the ‘Data Center Admin Toolkit’, a collection created by and for large Jira Data Center admins. From scripts for automating issue-management for 100s of thousands issues and projects at once, to inactive user deletion in bulk and automating user creation, to better workflow customisation and automation - these solutions are battle-tested and ready to use.

Screenshot 2020 04 15 at 11.43.20

We showcased a few ways in which ScriptRunner can make your admin easier, but the boundaries of what you can achieve are really only limited by your imagination. With over 1500 installs, ScriptRunner for Jira Data Center has rapidly become an essential admin app for managing the chaos of Jira Data Center. Here’s what one user is saying:

 

‘At Cheil UK, we use ScriptRunner to extend our Jira Data Center via Behaviours, Workflow functions, Web Panels, Scripted Fields – i.e. features that would normally require a specific plugin purchase. And best of all I can automate many time consuming admin tasks such as identifying and/or removing unused schemes, conditional bulk issue updates. Managing Jira at scale is much easier with ScriptRunner.’

 

Tom Lister - European Jira Administrator at Cheil

800px Cheil CI Image

If you haven’t experienced the full power of ScriptRunner for Jira yet, get a 30-day free trial here:

Atlassian Marketplace