Release Notes

April 2024

Improved Behaviours mapping

You can now create a Behaviour on a field that is applied to all issue types and/or all projectsBeing able to map to all projects and/or all issue types removes the need to select each project and/or each issue type individually, which can save time if you have an instance with hundreds or thousands of projects.

Behaviours mapping note

You should note that when the 'All projects' option is selected, and a project is added or removed from your instance, it will still be mapped to all projects in that instance. However, if you select all current issue types to map to and a new issue type is created, you must manually add this to the mapping, as it is not automatically added.

March 2024

New Editor 

We've replaced our in-app editor component with Monaco, the same editor that powers Visual Studio Code.

Importantly, this gives us a platform for future improvements. However, there are immediate benefits to this release: you get inline documentation (press Control+Space when completions are open), hover over methods and classes to see documentation, see completions automatically as you type, find and replace, and more. 

This editor has autocomplete for the following code: 

  • Groovy
  • Atlassian REST API
  • Custom ScriptRunner-defined script variables 

Read more about Monaco here.

New support portal

Our Adaptavist Support Portal has moved! Please update your bookmarks.

Visit this page for help logging into the portal.

Support for issue type events for Jira admin webhooks

We now support the following Jira admin webhook events: issuetype_created,issuetype_updated and issuetype_deleted whenever an issue type entity is created, updated or deleted.

New Behaviours Custom Field

We have introduced the new date time picker field for Behaviours Create and Issue View.

February 2024

Additional Supported Fields for Behaviours Issue View

Check out all the latest Supported Fields/Methods for Behaviours on the Issue view, as we now support the get/set description method.

Scripted Fields now act like Jira Custom Fields

We are currently rolling out the changes to the Scripted Fields feature, so you should see the update over the next couple of days.

As we previously announced, significant changes have been released for how Scripted Fields are configured in ScriptRunner for Jira Cloud and how they work. Now, every time a scripted field is created, a Jira custom field will also be generated on your Cloud instance.

You will add your script to the scripted field in ScriptRunner but configure the field anywhere you'd like within Jira's configuration screens, just like you would with any other custom fields.

If you have existing scripted fields, they will automatically update to the new way of working. 

This means you will see a new custom field for every existing scripted field you have saved.

If your Scripted Field was:

  • Disabled - the corresponding custom field will not be configured on a screen and, therefore, not shown to any users.
  • Enabled - we will take the current project/issue type mapping and match it to Jira's configurations using a combination of field context and adding it to the proper screen/s. 

Mapping

If you have scripted fields mapped to team-managed projects, the created custom fields cannot be configured with field context or to any screens. This will need to be done manually.

New JQL Function: childrenOf

Introducing the childrenOf function, a powerful addition that enables you to find descendant issues of a given subquery, including children, grandchildren, and beyond. This function enhances your ability to drill down into the specifics of project elements, offering a more detailed view of issue relationships.

For example, you could use this new function to find children issues of a project, excluding subtasks: issueFunction in childrenOf("project = DEMO") and issueType != "Subtask"

Check out our video demo here!

Updated JQL Functionality: parentsOf

The parentsOf function is now more robust, enabling you to find ancestor issues of a given subquery, including parents, grandparents, and beyond. This expanded capability allows for more comprehensive and hierarchical searches within your projects.

To utilise this feature, simply add a second argument with the string “all” to your query.

For example: issueFunction in parentsOf("project = DEMO", "all")

January 2024

Script Listener Infinite Loop Restriction Added

Previously, it was important to ensure that your scripts did not inadvertently trigger events your script listener was listening for, as this risked causing an infinite loop. However, now, self-triggering scripts cannot execute after 1000 runs. This restriction means that if a script creates an event that results in the same script running again, ScriptRunner will count the number of times this occurs and reject the 1001st run. If this occurs, you will see a log message informing you that Scriptrunner has cut off a self-triggering script loop.

Additional Supported Fields/Functions for Behaviours

Check out all the latest Supported Functions and Supported Fields for Behaviours, as we now support the FixVersion/s system field on the Issue view and number custom field types on both the Create and Issue views.

Increased script timeout limits

We have increased the duration of timeouts for script executions!

The previous limit was set at 120 seconds; now, we have increased this limit to 240 seconds for script executions.

Coming Soon!

Scripted Fields are becoming Jira Custom Fields

What's happening?

Currently, Scripted Fields are entirely created and saved within ScriptRunner. This includes the mapping selection of the Scripted Field as well as giving it a search term in order to find it using JQL in Jira. Very soon, we'll be releasing an upgrade where every time a Scripted Field is created, a Jira custom field will also be generated on your Cloud instance. You will add your script to the Scripted Field in ScriptRunner but configure the field anywhere you'd like in Jira's configurations, just like you would with any other custom fields.

Some of the benefits of having a Scripted Field as a custom field include: 

  • Better display and user experience
  • Improved discoverability
  • Increased flexibility since you'll be able to move custom fields anywhere you'd like on a screen

What about my existing Scripted Fields?

If you have existing Scripted Fields, they will automatically update to the new way of working.

This means you will see a new custom field for every existing Scripted Field you have saved (without having to lift a finger!)

If your existing Scripted Field is:

  • Disabled - it will become a custom field, but it will not be configured on a screen and, therefore, not shown to any users.
  • Enabled - we will take the current project/issue type mapping and match it to Jira's configurations using a combination of field context and adding it to the proper screen/s. 

For example: 

  • Old Scripted Field mapping:
    • Project: TEAM / issuetype: Story
  • New Scripted Field mapping:
    • Field context limit to only project TEAM, and only issuetype Story; Added to the screen which is mapped to the project TEAM and issue type Story.
      Note: Field context is necessary in the event that your issue type screen scheme has mappings to multiple projects and/or issue types that are not in your original mapping.

The new location of your Scripted Field will default to the bottom of the screen of the side panel. You may move this to anywhere you please by updating the screen and/or configuring the issue layout.

What will happen to my saved filters that include a Search Term in the JQL?

Your filters will be updated to use the Scripted Field's name.

November 2023

Additional Supported Fields for Behaviours Create View

Check out all the latest Supported Fields/Methods for Behaviours on the Create view, as we have added to those listed earlier in the month.

New Behaviours Issue View

We have expanded the functionality of the ScriptRunner for Jira Cloud Behaviours feature, so it's now possible to use behaviours on the newly added Issue view along with the Create view. Watch our latest video showing how to use this functionality. 

It's worth noting that not all field types are supported for issue view. You can refer to the details outlined in Supported Fields/Methods.

October 2023

Groovy Version Upgrade

We updated ScriptRunner for Jira Cloud to Groovy 4 on October 4 2023! 

Other new features in Groovy 4: 

The following are the most significant new features that have been added in Groovy 4 :

Please have a look at the Groovy 4 Release Notes for a complete list of new features.

Visit Breaking Changes to learn how Groovy 4 could affect and break your scripts.

September 2023

New Behaviours Issue Type Supported

We have added support for the Issue Type field to behaviours.

New Behaviours Project Type Supported

Behaviours now support Company Managed Work Management projects.

New Behaviours API Method

The new getContext() method has been added to the Behaviours API.

August 2023

Rich Text Scripted Fields

We have added some new functionality to Scripted Fields, which means you can now use rich text. Check out our script example in the Adaptavist Library. You can also watch our demo video showing how to display tables within scripted fields using rich text.

Notice of Deprecated JQL Keywords

We've identified a few keywords that are either not functioning as expected or already have their use cases covered by Jira Search. As a result, the following keywords will be removed on 1 November 2023:

  • hasLinks
  • commentVisibleGroup

  • commentVisibleRole

  • worklogVisibleRole

  • worklogVisibleGroup

  • lastCommentVisibleRole

  • lastCommentVisibleGroup

  • issueLinkType

You should review any queries related to these and change them accordingly. For example, you could use issueLinkType (which is provided by Atlassian here) in queries where you currently use hasLinks to search for issues based on the type of issue links you have.

July 2023

New Component and fixVersion Fields

You can now use the component and fixVersion fields in your behaviours, as shown in the getValue and setValue methods of the Behaviours API page.

New Behaviour API Methods

The new getOptionsVisibility and setOptionVisibility(options,isVisible) methods have been added to the Behaviours API.

Atlassian JQL Bug Affecting Assignees

Atlassian is currently aware of a bug that affects assignee in (...) when used with display names. This bug can cause inconsistent results when the JQL is executed within an Enhanced Search query.

Atlassian is working on a fix for this bug, but there is no ETA for the release. In the meantime, you can use account IDs instead of display names in your JQL queries as a workaround.

For example, instead of assignee in ('John Doe', 'Jane Doe'), use assignee in (1234567890, 9876543210).

June 2023

New Behaviours UI

We've made it easier to directly add Behaviour scripts, replacing the Behaviours Fields section with the new Behaviours Scripts one.

May 2023

New Behaviours System Field

We have introduced the new reporter system field function for Behaviours.

April 2023

New Behaviours Custom Field

We have introduced the new custom checkbox supported field for Behaviours.

New Behaviour API Method

The new getType method has been added to the Behaviours API.

Behaviour API Method Property Deprecated

Refer to Atlassian's documentation for more details regarding this deprecation.

The usage of the getValue and setValue methods has changed for several field types. Refer to Behaviours API for more information.

For the assignee, userPicker and multiUserPicker fields, only accountIds are returned as the displayName property is no longer available. Scripts that rely on displayName information will break; instead, you will now have to make a request to /rest/api/3/user?accountId=${accountId} and/or /rest/api/3/bulk?accountId==${idsToFetch.join("&accountId=")}.

For single and multiselect, you must use the id  of the option istead of an object containing the id and name

March 2023

New Behaviours API Methods

New methods have been added to the Behaviours API: isRequired and setRequired.

Jan 2023

New Behaviours Custom Fields

We've gone beyond the recent introduction of Behaviours for ScriptRunner for Jira Cloud that supported actions on five key system fields: priority, summary, assignee, labels and description - now, you can use Behaviours on your custom fields. These include:

  • Custom single select fields
  • Custom multiple select fields
  • Custom paragraph (multi line text) fields
  • Custom user picker fields
  • Custom multiple user picker fields
  • Custom text field

Read more in our blog.

Dec 2022

New Behaviours Feature

We've introduced Behaviours for ScriptRunner for Jira Cloud: gain control over fields, expand standard configurations and customise how fields behave. Read more in our blog.

One of the most popular ScriptRunner for Jira features is now also available on Cloud. Behaviours deliver a brand new boost to your Jira customisation power, allowing you to conditionally change how fields behave when creating a new issue under a specific project or issue type.

Nov 2022

Get involved

Want to know how you can get involved with shaping the future of ScriptRunner? Check out our Get Involved page. 

March 2022

A new Migration report is available that displays any failed items after you have migrated from ScriptRunner for Jira for Server/DC to Cloud using the Jira Cloud Migration Assistant.

Feb 2022

UI improvements have been made to the Script Fragments page.

Feb 2022

New example scripts have been added to the Scripted Fields page.

Jan 2022

UI improvements have been made to the Scripted Variables page.

Dec 2021

Saved Enhanced Search filters can be accessed and shared directly from ScriptRunner Enhanced Search page.

Nov 2021

UI improvements have been made to the following pages:

April 2021

  • Database connection calls can now be made via groovy within ScriptRunner for Jira Cloud, meaning that you can read or write to a database as part of a script. Refer to the Script Examples page.
  • The list of libraries from which you can import packages into your scripts has increased to include:
    • org.codehaus.groovy:groovy-sql:2.5.12
    • org.postgresql:postgresql:42.2.19
    • mysql:mysql-connector-java:8.0.23
    • com.microsoft.sqlserver:mssql-jdbc:9.2.1.jre11

March 2021

  • Added the ability to use Scripted Fields when searching for issues with JQL.

February 2021

  • Added new Built-in Script for cloning issues in bulk and moving to a new project.

Apr 2020

7 Jan 2020

  • Added ScriptRunner Script Conditions and Validators that can be added to a workflow transition.

On this page