Introduction to ScriptRunner
What is ScriptRunner for Jira Server?
ScriptRunner for Jira Server is an app available on the Atlassian Marketplace that allows you to extend Jira functionality through the use of built-in and custom groovy scripts. ScriptRunner for Jira Server is just one of the ScriptRunner family, and you can also find a ScriptRunner for Jira Cloud app, as well as apps for BitBucket Server, Confluence, and Bamboo.
ScriptRunner for Jira Server allows you to extend basic Jira functionality, such as JQL, and use scripted JQL functions. It also allows you to automate using escalation services and script workflow functions. Out-of-the-box, you can find several built-in scripts ready to go, or you may try some recipes to start using a bit of groovy for custom scripts.
To reach the Script Console in the above screenshot, you need Jira administration permissions. You can reach this screen through the apps administration screen.
Who Has Access?
ScriptRunner for Jira Server is managed by a Jira administrator; however, many users can use its functions. You may not even know you are using a ScriptRunner function, or working through a script condition in a workflow, because of how seamlessly it integrates.
We do recommend creating a generic user to carry out some of the automated functions - a user that won’t get confused with actual users in your Jira instance. At Great Adventure, they have created a user named Tobor. Tobor is a Jira administrator, so he can handle all of the back-end functions that ScriptRunner carries out.
Tobor does consume a license for any of the applications he needs access to; however, by using this generic account, Great Adventure gets clarification on what actions are automated vs. what actions are completed by an actual user in Jira.
ScriptRunner for Jira or Just Plain Old Jira?
While Jira includes many tools that can help automate, report, and move your issues through from start to finish, ScriptRunner for Jira Server does just a bit more! Let’s compare a few items to see what you can do in Jira and then in ScriptRunner. Of course, this list is not everything ScriptRunner for Jira Server can do.
JQL: In Jira, you can use JQL to search for issues and create filters. You also use JQL in Service Management queues and SLAs, as well as to power Software boards. With ScriptRunner, you can use scripted JQL functions that allow you to extend what you can do with basic JQL, including the ability to calculate data through the scripted JQL.
Workflow: In Jira, you can use workflow functions to control who does what with issues in a workflow, or automate some actions after a transition has completed. With ScriptRunner, you can use script workflow functions to further extend these control and automation capabilities, allowing you to manage issues at a more detailed level.
Custom Fields: In Jira, you can create custom fields to capture more information on your issues. With ScriptRunner, you can create script custom fields, that allow you to include calculations in a field, for example you can use a custom field to display the date and time the issue had its status changed.
So, as you see, ScriptRunner adds some great features to Jira that can help you work more efficiently and with better information.
To update ScriptRunner, along with any other installed apps, you use the Atlassian Universal Plugin Manager (UPM). Using the UPM, you can manage your ScriptRunner installation and license.
Other things you can do with the UPM:
View app information including the installed version of the app and the available version of the app. With this information, you can also update the app from this page.
Note that in the example, we are not on the latest available version of ScriptRunner.
Review information about ScriptRunner for Jira including pricing details, data security, privacy information, and documentation.
Enable and disable modules for apps
A module is a piece of an app that allows you to expand Jira functionality. It is basically a chunk of code that lets you extend different parts of Jira in different ways.
You can’t disable all modules; some are required for ScriptRunner to function.
Script JQL functions run as modules here, so if you need to add or remove a Script JQL function, you do that here.
For each app listed in the UPM, you can also see release notes for recent updates.
Continue to see a list of ScriptRunner features and where to find them.