Limitations
Several limitations (timeouts, event rate limiting, and package imports) are applied to scripts when they run. The limits should be more than sufficient for most scripts and are designed to catch erroneous scripts.
Timeouts
There is a limit of 240 seconds for script executions. After running for 240 seconds, the logs will be collected, and the code will be terminated. Any logs from the first 240 seconds of execution will be logged on the Logs page.
Different timeout limit for custom macros
The execution timeout limit for Custom Macros is 60 seconds.
Package imports
While you can import packages into your scripts in the script console. For listeners, you can only import from the standard Java 11 classes and the following libraries:
- org.codehaus.groovy:groovy:4.0.6
- org.codehaus.groovy:groovy-dateutil:4.0.6
- org.codehaus.groovy:groovy-datetime:4.0.6
- org.codehaus.groovy:groovy-nio:4.0.6
- org.codehaus.groovy:groovy-json:4.0.6
- org.codehaus.groovy:groovy-jsr223:4.0.6
- org.codehaus.groovy:groovy-templates:4.0.6
- org.codehaus.groovy:groovy-xml:4.0.6
- org.codehaus.groovy:groovy-sql:4.0.6
- com.fasterxml.jackson.core:jackson-core:2.15.2
- com.fasterxml.jackson.core:jackson-annotations:2.15.2
- com.fasterxml.jackson.core:jackson-databind:2.15.2
- io.github.openunirest:unirest-java:2.2.10
- org.apache.httpcomponents:httpclient:4.5.13
- org.apache.httpcomponents:httpcore:4.5.13
- org.apache.httpcomponents:httpasyncclient:4.1.4
- org.apache.httpcomponents:httpcore-nio:4.4.10
- org.apache.httpcomponents:httpmime:4.5.13
- org.slf4j:slf4j-api:1.7.36
- com.amazonaws:aws-lambda-java-log4j2:1.5.1
- org.apache.logging.log4j:log4j-api:2.19.0
- org.apache.logging.log4j:log4j-core:2.19.0
- org.apache.logging.log4j:log4j-slf4j-impl:2.19.0
- org.apache.logging.log4j:log4j-iostreams:2.19.0
- org.apache.logging.log4j:log4j-1.2-api:2.19.0
- org.immutables:builder:2.8.8
- io.jsonwebtoken:jjwt:0.9.1
- org.postgresql:postgresql:42.2.19
- mysql:mysql-connector-java:8.0.23
- com.microsoft.sqlserver:mssql-jdbc:9.2.1.jre11
- org.jsoup:jsoup:1.15.3
Listeners, jobs, and CQL jobs storage
At the moment, the amount of code that can be stored across all Script Listeners is limited to 32KB. Therefore, if one listener has 30KB of code, all your other Script Listeners must only have 2KB of code between them.
This storage limit also applies for jobs and CQL jobs.
If you require more storage space for your listeners, jobs, or CQL jobs, you can contact Adaptavist Support with your request.