Breaking Changes
Java Version Upgrade
Date of Change: September 2024
We have upgraded the execution environment where your scripts run from Java 11 to Java 17.
Java 17 is a Long-Term Support (LTS) release, which means it will receive extended support and updates.
Removed features:
Removal of RMI Activation: The RMI Activation mechanism has been removed in Java 17. If your application relies on this feature, you'll need to find an alternative solution.
Removal of Nashorn JavaScript Engine: The Nashorn JavaScript engine was deprecated in Java 11 and removed in Java 15.
Groovy Version Upgrade
Date of Change: October 2023
We have updated ScriptRunner for Jira Cloud to Groovy 4!
As outlined below, we have identified breaking changes that could affect your scripts. Adaptavist ScriptRunner Support is available to help you with these issues.
Groovy 4 breaking changes
Conflicting isser and getter methods
This change was discovered after the first Groovy 4 communication from ScriptRunner for Jira Cloud, so it may require your attention even if you followed our initial instructions. The fix for this must be implemented by 31 December 2023.
We have created a temporary workaround for this issue. Your scripts will not break until we remove this workaround on 31 December 2023.
If you are using objects of classes that implement conflicting isser and getter methods and you are using the property syntax to get the getter value, your code can break with Groovy 4.
FIX: In Groovy 4, if you are using objects of classes that implement conflicting isser
and getter
methods, and using the property syntax to get the getter value, you must re-write the logic to use the getter method directly.
For example, in Groovy 2, the get
call below returns the value of JsonArray
object (contents of array
), and the JsonNode
class has conflicting isser
and getter
methods:
groovydef theArray = get("/rest/api/2/issuetype") .header('Accept', 'application/json') .asJson().body.array theArray // In Groovy 2 this is used to return the value of getArray() method of JsonNode
In Groovy 4, theArray
will be the return value of the method isArray()
of JsonNode
. So the above code should be written as:
groovydef theArray = get("/rest/api/2/issuetype") .header('Accept', 'application/json') .asJson().body.getArray()
Node not found and issues related to getter functions in Groovy
This change was discovered after the first Groovy 4 communication from ScriptRunner for Jira Cloud, so it may require your attention even if you followed our initial instructions. The fix for this must be implemented by 31 December 2023.
The Groovy 2 import statement import groovy.util.slurpersupport
breaks with Groovy 4.
FIX: To fix your scripts that use that import statement, please replace the package name with import groovy.xml.slurpersupport
.
Unable to resolve class XmlSlurper
The Groovy 2 import statement import groovy.util.XmlSlurper
breaks with Groovy 4.
FIX: To fix your scripts that use that import statement, please replace it with import groovy.xml.XmlSlurper
.
Unexpected input for ,
The new Groovy 4 parser does not allow empty objects in an array list. Scripts with code like "a","b",,"c","d"
breaks with Groovy 4.
FIX: To fix your scripts that have empty arrays or lists, please remove the empty objects by adding quote marks (""
), like "a","b","","c","d"
.
Groovy 4 warning
These are the changes in Groovy 4 that we have identified that are in use by our customers, but there is a potential for scripts to break from other changes. Please review the Groovy 4 Release Notes to understand the full changes.
New URLs for ScriptRunner
Date of Change: after 12th April 2021
The URLs used for hosting ScriptRunner for Jira and Confluence Cloud are changing. Customers who use a cloud firewall may encounter problems due to this change.
We advise all customers with a cloud firewall to ensure that access to the following wildcard URL is permitted:
*.connect.product.adaptavist.com
For more information on this change, or if you are having ongoing issues, please contact Adaptavist Support.
Java Version Upgrade
Date of Change: 14th October 2020
We have upgraded the execution environment where your scripts run from Java 8 to Java 11.
Java 11 has started removing some modules, therefore libraries relying on such modules may cause errors.
For more details see Oracle’s upgrade guide.
In case of any issues, we can switch the environment to run scripts from your Atlassian URL on Java 8 to allow time to make any script modifications, where necessary.
Groovy Version Upgrade
Date of Change: 17th June 2020
We will be upgrading the version of Groovy that your scripts run on from 2.4.17 to 2.5.12.
We do not anticipate any significant changes in behavior to your scripts.
Release notes are available on the Groovy website and some specific breaking changes are described in the version 5 release notes.
New URL for Frontend Assets
Date of Change: 24th March 2020
To align with Atlassian Cloud app security requirements, the frontend URL for assets (JS, CSS, and images) will be updated imminently. Cloud instances using a cloud firewall may encounter problems due to this change.
We advise all users with a cloud firewall to ensure the following URL is whitelisted:
For more information on this change, or if you are having ongoing issues, please contact Adaptavist Support.