Several limitations are applied to scripts when they are run. The limits should be more than sufficient for most scripts and are designed to catch erroneous scripts. These are detailed below here.

Timeouts

Scripts can run for no longer than 120 seconds. After running for 120 seconds the logs will be collected and the code terminated. Any logs from the first 120 seconds of execution will be logged in the Script Logs page.

If the 120 second script run time is not sufficient to meet your needs, you can address this issue by raising a support request.

Event Rate Limiting

Workflow Functions and Events for the same principle (Issue, Project, User, Board or Version) are restricted to 60 in a minute. When the limit is exceeded events will be dropped for that particular principle, other events are not affected. Any executions that are dropped are logged and can be found in the Logs page.

Package imports

Whilst you can import packages into your scripts in the Script Console, Script Events and Post-Functions, you can only import from the standard Java 8 SE classes and the following libraries:

  • org.codehaus.groovy:groovy:2.5.12

  • org.codehaus.groovy:groovy-json:2.5.12

  • org.codehaus.groovy:groovy-jsr223:2.5.12

  • org.codehaus.groovy:groovy-templates:2.5.12

  • org.codehaus.groovy:groovy-xml:2.5.12

  • com.fasterxml.jackson.core:jackson-core:2.10.0

  • com.fasterxml.jackson.core:jackson-annotations:2.10.0

  • com.fasterxml.jackson.core:jackson-databind:2.10.0

  • io.github.openunirest:unirest-java:2.2.10

  • org.apache.httpcomponents:httpclient:4.5.6

  • org.apache.httpcomponents:httpcore:4.4.10

  • org.apache.httpcomponents:httpasyncclient:4.1.4

  • org.apache.httpcomponents:httpcore-nio:4.4.10

  • org.apache.httpcomponents:httpmime:4.5.6

  • commons-codec:commons-codec:1.10

  • org.json:json:20180130

  • org.slf4j:slf4j-api:1.7.25

  • org.slf4j:slf4j-log4j12:1.7.25

  • org.slf4j:jcl-over-slf4j:1.7.25

  • log4j:log4j:1.2.17

  • org.immutables:builder:2.5.6

  • io.jsonwebtoken:jjwt:0.9.1

  • 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

Scripts in ScriptRunner Cloud Storage

Currently, the maximum amount of code that can be stored within Jira Cloud across all Script Listeners is 32KB. So, if one Script Listener contains 30KB of code then all your other Script Listeners must only contain 2KB of code between them.

The same maximum storage limit applies to the Escalation Services and Scheduled Jobs features.

If you require a larger amount of storage you can create a support request. After you have contacted support and extra storage space has been granted, please note that our scripts will be stored externally from your Jira instance in ScriptRunner Cloud Storage and will no longer be part of any Jira exports, meaning that your scripts cannot be automatically migrated between Jira instances. Additionally it is not possible to migrate your scripts back into Jira’s storage.