Jira Automation Demystified
Repetitive tasks can be time consuming. In an ideal world, automation would remove all of the grunt work when it comes to solving business problems, freeing us up to execute on more strategic decisions. Luckily, Jira has the capabilities to take a load of tasks off your hands – including tracking your issues, posts, features, and more. This blog will walk you through the options available and offer top tips on how to set this up.
This blog is a write-up of Atlassian Consultant & Developer Ravi Sagar’s insightful presentation where he shared tips and tricks with the Maidenhead Atlassian Community. Watch the full recording below.
The key benefits of using Jira automation:
Why automate Jira at all?
Here are some top line benefits and examples of specific use cases. Not only does it save time and cost, it also helps with integrations, and by extension, extending the features of your existing tools.
Best options for automating Jira
How exactly do we go about automating Jira? The first question to ask yourself is are you working on Cloud or On-Prem…? Let’s look at a few use cases for each of these options and explore the expertise you’ll need to make it happen.
Jira REST API
You can use this method to create an issue, perform search, create a project or fetch lists, and much more.
Start with finding your end points, this is easy just go to: https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro
Top tips: keep your common end points to hand, so you can refer back. Ravi recommends using Postman or if you are using Chrome try Talend API Tester (plugin). Plus, use shell scripts with curl and jq commands to make it easier to work with JSON scripts.
Java API / Atlassian SDK
You can use the Atlassian SDK to write your own plugin or app with minimal programming experience and a few tutorials, to get started go to: https://developer.atlassian.com/server/framework/atlassian-sdk/
Top tips: remember if you write a plugin you will need to maintain it and support anyone else who uses it, when Jira gets updated. If you don’t have experience writing in Java, then IntelliJ is a great tool to help you write your code. Atlassian also have Java docs so you can explore all coding options, IntelliJ will also support you with this.
Connect
Atlassian recommends using Forge but this has some limitations, so whilst Atlassian Connect still exists Ravi recommends using it for building apps:
https://developer.atlassian.com/cloud/jira/platform/getting-started-with-connect/
Top tips: Use Node.js to build Connect apps and once you’ve built them publish them on the Atlassian marketplace for others to enjoy too.
Forge
This will eventually replace Connect. Building apps with Forge is a similar process, using the resources below you can build an app in a matter of hours. To get started check out:
https://developer.atlassian.com/platform/forge
Then if need be take a few tutorials at: https://developer.atlassian.com/platform/forge/tutorials-and-guides/
Top tips: Make sure you know what end points you have so you can solve quick problems like adding a button to your scrum board or display panel. The Forge UI kit will help you write the code and Atlassian will provide the development and staging environment so you can successfully publish your app.
Jira Automation
Jira Cloud and Jira DC 9 (and onwards) have in-built automations. The good news is this works on Cloud and Data Center and it's simple to get started, no programming experience is required as it is all UI based. So, writing rules is easy; just define a trigger, create some conditions, select an action. For example, send a Slack message to a certain group, whenever a high priority issue comes in from a customer.
Top tips: Use the Jira Automation library to find templates for common tasks:
https://www.atlassian.com/software/jira/automation-template-library.
Get the most out of Jira by learning smart values and REST API which will help you fetch more data/fields, automate data, and add simple calculations to your build.
ScriptRunner for Jira
You can also make REST calls using automations within Jira or to another system. ScriptRunner is ideal as it is available for Cloud and Data Center users. This is the tool for people wanting to write more complex script to solve bigger problems, add more logic and calculations. However, on cloud you are limited by your REST APIs, but on server there are no boundaries! Some experience of programming is recommended for this method, and knowledge of Jira REST API and Jira Java API will all stand you in good stead.
Top tips: Adaptavist who created ScriptRunner have a handy library of example scripts: https://library.adaptavist.com
How to choose the best automation option
Here are some key questions to consider before launching into your next scripting project:
Top tip: Jira won’t do all the work for you! Some tasks are suited to automation but there will always be a need for human intervention for bespoke problems, plus ongoing maintenance, and support for whatever you decide to build.
If you are thinking of moving to cloud, then most of these scripts won’t work for you, as everything will need to be modified as part of your migration.
Deep dive into some use cases
For real-life examples of automation scripts, follow these links to see the use cases Ravi shared in his presentation.
Shell script to create an issue
Assign issues automatically based on skills using REST API
Send daily summary of issues using automation
Send daily summary of issues using ScriptRunner
Self-service using Jira Service Management (JSM)
- Create onboarding tasks automatically
- Automatically create Jira projects
- Update JSM organisation
- Customer comments and updates
Integrating Jira with PPM tools
- ScriptRunner can be used to connect with other tools using REST API
- Interface can be built to dump data to a database regularly
Watch the full presentation here >>>
Get visibility across your projects
What if we told you that you could also automate your status updates? And that you can flow status and KPIs up to a single, aggregated view?
With SquaredUp, you can get full visibility across the projects, releases and issues from Jira, alongside all your other key developer data. Learn how.
Using SquaredUp, you can now:
- Level up your project reporting: Track status without tracking down people
- Monitor your DORA metrics across teams and projects
- Get full visibility over your CI/CD pipelines
Other useful resources:
Mastering ScriptRunner for Jira Cloud | Ravi Sagar