Features

Learn about all of the main features of ScriptRunner. ScriptRunner provides a range of features for automating, customizing, and extending Jira. This page introduces its main capabilities, including running scripts, reacting to events, enhancing workflows and fields, scheduling jobs, creating integrations, and using HAPI to simplify common Jira tasks.

Script console

Run one-off scripts and experiment with Jira APIs. For example, you can run a cleanup task or perform bulk updates on work items, spaces, users, and so on. To learn more and view examples, visit the script console page.

Static type checking

Static type checking helps you verify that your script is correctly written before you run it. It’s available in the script console and in all other locations where you can write scripts.

Event listeners

Create automated procedures that listen for specific events in Jira and run a script when they occur. For example, you can automate work item updates based on field changes or comment on work items when specific conditions are met. Optionally define a filter for the event, and when it evaluates as true, your script runs. To learn more and view examples, visit the event listeners page.

Scripted fields

Create custom fields with dynamic content to display information otherwise unavailable for a work item. For example, you can create a field that calculates or aggregates data from one or more existing fields. To learn more and view examples, visit the scripted fields page.

Work item picker fields

Create custom fields that let users select one or more work items returned by a JQL query. For example, you can restrict selection to work items that meet specific criteria, or dynamically surface related work items by writing a script that generates JQL based on the values of other fields. To learn more and view examples, visit the work item picker fields page.

Workflow rules

Create custom workflow rules to enhance and automate your workflows beyond Jira's native possibilities. For example, automatically create a subtask, require users to add a comment, or require all subtasks to be complete before transitioning. You can create custom actions, restrictions, and validators in Jira as you would native ones, then edit them here. To learn more and view examples, visit the workflow rules page. 

Scheduled jobs

Create custom jobs that run scripts at regular intervals, allowing you to automate recurring tasks and maintenance operations in Jira. For example, create monthly summary work items or perform regular data cleanup tasks. To learn more and view examples, visit the scheduled jobs page. 

Field behaviours

Create custom field behaviours that control how fields appear and function in specific spaces or work item types. For example, you can create dynamic behaviours based on user interactions or modify how fields appear in different contexts. To learn more and view examples, visit the field behaviours page.

HTTP endpoints

Create scripts to define custom API endpoints, enabling seamless integration with external systems. These endpoints allow external systems to interact with Jira or enable Jira to consume external services. For example, create an endpoint that retrieves specific work item details or Jira updates based on external triggers. To learn more and view examples, visit the HTTP endpoints page.

Automation integrations

Create custom script-based actions that can be executed within Jira automation rules. For example, you can implement custom logic that goes beyond native automation capabilities. To learn more and view examples, visit the automation integrations page.

HAPI

HAPI is an API (application programming interface) we have developed for doing common tasks in Jira, including managing work items, searching for work items, updating fields, and more. HAPI is a simple alternative to Jira's regular API and can be used in your scripts. To learn more and view examples, visit the HAPI page. 

Dynamic forms

Add configurable input fields to your scripts so they can be reused across multiple workflow rules or automation actions without code changes. For example, you can define a string, number, or boolean parameter that an admin sets when configuring the rule, allowing the same script to serve different use cases with different values. To learn more and view examples, visit the dynamic forms page.

On this page