Feature Parity

ScriptRunner for Jira Cloud does not have the same feature set as the Server/Data Center version. Listed below are the features available in ScriptRunner for Jira Cloud including links to further feature information. We have also outlined some key notes that provide you with important essential information at a glance. 

Cloud Feature NameKey Notes
Behaviours You can follow the latest updates on our website here.
Built-in Scripts There are currently 3 built-in scripts available on Cloud.
Escalation Services

Known as a Built-in Jobs in ScriptRunner for Server/Data Center.

On Server/Data Center, the schedule is set using a custom Cron expression, but in Cloud, the schedule can only be set at hour intervals.

Scheduled Jobs Known as Jobs in ScriptRunner for Server/Data Center.
JQL Functions Both versions of ScriptRunner use JQL Functions. However, this feature has been implemented as Enhanced Search within ScriptRunner for Jira Cloud.
Scripted Fields

Known as Script Fields in ScriptRunner for Server/Data Center.

In Cloud, Scripted Fields are not stored as normal Jira custom fields. Instead, the field output is added to an issue’s properties and therefore inherits the issue’s permissions. Scripted Fields are not currently searchable with JQL, but we’re working hard to make this available as soon as possible.

Scripted Fragments Known as Script Fragments in ScriptRunner for Server/Data Center.
Script Listeners

Known as Listeners in ScriptRunner for Server/Data Center.

The implementation differs from Server due to inherent differences between Server and Cloud. There are also less events available in Cloud than in Server/Data Center.

Workflow Conditions When editing a workflow transition and adding a new Condition - select "ScriptRunner Script". Note: Jira Cloud Conditions and Validators are achieved through the use of  'Jira Expressions'.
Workflow Post Functions
Workflow Validators When editing a workflow transition and adding a new Validator - select "ScriptRunner Script". Note: Jira Cloud Conditions and Validators are achieved through the use of  'Jira Expressions'.

Jira REST API and UI Modifications API

The varying parities between Cloud and Server/Data Center exist due to the limitations of the Jira REST API and UI Modifications API, which ScriptRunner relies on to allow certain functionality. Unfortunately, it is likely that some features cannot be part of the Cloud feature set due to restrictions in the Cloud platform. There are also some general limitations within ScriptRunner Cloud, such as script execution timeouts and script storage which we recommend reviewing. 

ScriptRunner for Server/Data Center and Cloud feature parity comparison

In the table below, we have noted the parity of each ScriptRunner for Server/Data Center feature, along with any script/function alternatives where there is currently no value parity. 

ScriptRunner for Server/Data Center features which are not supported in ScriptRunner for Jira Cloud are also listed in the parity table for full transparency to allow an informed decision when migrating from Server/Data Center to Cloud.  
KeyDefinition

(tick)

Full value parity.

Partial value parity.

ALT

No value parity, but custom script alternatives are available.

(error)

No value parity or alternatives are available.

Server/DC Feature NameCloud ParityParity Notes/Alternatives

Behaviours

Behaviours on Cloud is only supported on the Create Issue Screen for Jira Software - Company Managed Projects.

Project and Issue Types must be selected individually in the configuration, there is no All Projects or All Issue Types option. 

Cloud Supported Fields

  • Summary
  • Description
  • Assignee
  • Priority
  • Labels
  • Reporter
  • Fix Versions
  • Components
  • Custom single select fields
  • Custom multi select fields
  • Custom paragraph (multi line text) fields
  • Custom user picker fields
  • Custom multi user picker fields
  • Custom text field
  • Custom checkbox field

Cloud Supported Functions

  • Hide/show field
  • Make field editable/read-only
  • Change field name/title
  • Change field description
  • Make field required
  • Check field type
  • Manage field options ( only supported for Priority, Select List Fields, Multi-Select List Fields, Checkbox Fields)

Built-In: Bulk Copy SLA Configuration

(error)


Built-In: Bulk Fix Resolution

Cloud does not allow clearing resolutions (selecting None option).

Built-In: Bulk Import Custom Fields

ALT

The same function can be achieved by writing your own script in the Script Console but with all the caveats of time limitation, API availability, etc.
Check out our page on Scripting in ScriptRunner for Jira Cloud for tips. 

Built-In: Change Dashboard, Filter or Board Ownership

(error)


Built-In: Clean Workflows

(error)


Built-In: Clear Groovy Class Loader

(error)


Built-In: Configuration Exporter

(error)


Built-In: Copy Custom Field Values

Cloud currently supports: 

  • Single to multi, for example, single select to multi-select, single user picker to multi-user picker.
  • Multi to single, however, only the first value will be retained.
  • Multi to text, the values are concatenated with a comma.
  • Short text to unlimited text.

Built-In: Copy Project

ALT

You can achieve the same functionality in Jira Cloud by using the Script Console and a script.

Built-In: Generate Events

(error)


Built-In: Guardrails (All)

(error)


Built-In: List Scheduled Jobs

(error)


Built-In: Re-index Issues

(error)


Built-In: Script Registry

(error)


Built-In: Service Desk Template Comments

(error)


Built-In: Split Custom Field Contexts

(error)


Built-In: Switch to a Different User

(error)


Built-In: Test Runner

(error)


Built-In: View Server Log Files

(error)


Code Insights

(error)


Jobs: Custom Scheduled Job

Cloud supports: 

  • A minimum interval of 1 hour. 
  • There is a limit of 120 seconds for script executions. After running for 120 seconds, the logs will be collected, and the code will be terminated.

Jobs: Escalation Service

Cloud supports:

  • The maximum number of issues you can modify in any execution of an Escalation Service job is 50. In other words, we limit the number of issues returned by each JQL query to 50 issues.
  • A minimum interval of 1 hour.

Jobs: Issue Archiving Job

(error)


JQL Functions

This feature has been implemented as Enhanced Search within ScriptRunner for Jira Cloud. 

JQL Functions: addedAfterSprintStart

(tick)

This JQL function will identify issues that were added to an open sprint after the feature was released (21st December 2020). Historical searches for issues added to open sprints prior to that date are not supported.

JQL Functions: aggregateExpression

(error)


JQL Functions: commented

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve you could use some ScriptRunner JQL Keywords to achieve the same: firstCommentedDate, lastCommentedDate, commentedOn, commentedBy, commentVisibleRole, commentVisibleGroup, lastCommentBy, lastCommentVisibleRole, lastCommentVisibleGroup.

JQL Functions: completeInSprint

(error)


JQL Functions: componentMatch

To negate the function in Cloud, the not keyword must be at the start of the clause, for example, not component in componentMatch("comp").

JQL Functions: dateCompare

(tick)


JQL Functions: earliestUnreleasedVersionByReleaseDate

(error)


JQL Functions: epicsOf

This JQL function is available for Classic Jira projects but not for Next-Gen projects. 

JQL Functions: expression

(error)


JQL Functions: fileAttached

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve, you could use some ScriptRunner JQL Keywords to achieve the same: numberOfAttachments, attachmentType, firstAttachmentDate, lastAttachmentDate, fileAttachedBy.

JQL Functions: hasAttachments

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve, you could use the ScriptRunner JQL Keywords: numberOfAttachments to have the same result.

JQL Functions: hasComments

(error)

The ScriptRunner JQL Keyword: numberOfComments can be used.

JQL Functions: hasLinks

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve, you could use some ScriptRunner JQL Keywords to achieve the same: numberOfLinks, issueLinkType, hasLinks.

JQL Functions: hasLinkType

(tick)

The ScriptRunner JQL Keyword: issueLinkType can be used.

JQL Functions: hasRemoteLinks

(error)


JQL Functions: hasSubtasks

(tick)

You could use the ScriptRunner JQL Keywords: numberOfSubtasks to have the same result.

JQL Functions: inactiveUsers

(error)


JQL Functions: incompleteInSprint

(error)


JQL Functions: issueFieldExactMatch

(tick)

This feature is called issueFieldMatchExact in Cloud.

JQL Functions: issueFieldMatch

(tick)


JQL Functions: issuesInEpics

(tick)

This JQL function is available for Classic Jira projects but not for Next-Gen projects.

JQL Functions: jiraUserPropertyEquals

(error)


JQL Functions: lastComment

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve you could use the ScriptRunner JQL Keywords to achieve the same: lastCommentBy, lastCommentVisibleRow, lastCommentVisibleGroup, lastCommentedDate.

JQL Functions: lastUpdated

(error)


JQL Functions: linkedIssuesOf

(tick)

In Jira Server/Data Center, this function can be used to search for issues linked with the parent-child hierarchy provided by Advanced Roadmaps/Portfolio but not in the Jira Cloud Enhanced Search.

JQL Functions: linkedIssuesOfAll

(error)


JQL Functions: linkedIssuesOfAllRecursive

(error)


JQL Functions: linkedIssuesOfAllRecursiveLimited

(error)


JQL Functions: linkedIssuesOfRecursive

(tick)


JQL Functions: linkedIssuesOfRecursiveLimited

(tick)


JQL Functions: linkedIssuesOfRemote

(error)


JQL Functions: memberofRole

(error)


JQL Functions: myProjects

(error)


JQL Functions: nextSprint

(tick)


JQL Functions: overdue

(error)


JQL Functions: parentsOf

(tick)


JQL Functions: portfolioChildrenof()

(error)

Atlassian provides the portfolioChildIssuesOf function to search for issues below an initiative, for example:

issue in portfolioChildIssuesOf("<IssueKeyHere>")

This is not the same as the ScriptRunner version in Server/DC.

JQL Functions: portfolioParentOf()

(error)

Atlassian provides the portfolioChildIssuesOf function to search for issues below an initiative, for example:

issue in portfolioChildIssuesOf("<IssueKeyHere>")

This is not the same as the ScriptRunner version in Server/DC.

JQL Functions: previousSprint

(tick)


JQL Functions: projectMatch

(tick)

To negate the function in Cloud, the not keyword must be at the start of the clause, for example, not project in projectMatch("proj").

JQL Functions: projectsOfType

(error)


JQL Functions: recentProjects

(error)


JQL Functions: releaseDate

(error)


JQL Functions: removedAfterSprintStart

(error)


JQL Functions: startDate

(error)


JQL Functions: subtasksOf

(tick)


JQL Functions: versionMatch

(tick)

To negate the function in Cloud, the not keyword must be at the start of the clause, for example, not fixVersion in versionMatch("vers").

JQL Functions: workLogged

(error)

There is not a like-for-like function in Cloud, but depending on what you want to achieve you could use the ScriptRunner JQL Keywords: worklogVisibleRole, workflogVisibleGroup to have the same result.

Listeners

Listeners: Adds the current user as a watcher

ALT

The same function can be achieved using a Custom Listener and a script.

Listeners: Clone an issue and links

ALT

The same function can be achieved by writing your own script in the Custom Listener but with all the caveats of time limitation, API availability, etcCheck out our page on Scripting in ScriptRunner for Jira Cloud for tips. 

Listeners: Create a sub-task

ALT

The same function can be achieved using a Custom Listener and this script for creating a subtask(s). 

Listeners: Custom Listener

There is a limit of 120 seconds for script executions. After running for 120 seconds, the logs will be collected, and the code will be terminated.

Events not supported in Cloud: 

All Issues Events, Issue Resolved, Issue Assigned, Issue Closed, Issue Reopened, Issue Moved, Generic Event, Issue Archived, Issue Restored, Work Logged On Issue, Worked Started On Issue, Worked Stopped On Issue, All Component Event, All Custom Field Event, All Directory Events, All Field Screen Events, AllIndexing Events, All Issue Watch Events, All Mention Events, All Project Category Events, ProjectRestoredEvent, All Project Role Events, All Property Events, All Scheme Events, AbstractVersionEvent, AffectVersionCreatedInlineEvent, FixVersionCreatedInline, RemoteVersionLinkDeleteEvent, RemoteVersionLinkPutEvent, VersionArchiveEvent, VersionCreatedViaRestEvent, VersionMergeEvent, VersionUnarchiveEvent, RemoteSprintLinkEvent, BoardEvent, KanbanBacklogToggledEvent, FeatureToggledEvent, SprintEvent, RemoteSprintLinkEvent, ImportAnalyticEvent, EpicIssueTypeChangedEvent, EpicCustomFieldChangedEvent, LexoRankChangeEvent, SprintCustomFieldChangedEvent, SprintPropertyDeletedEvent, SprintPropertySetEvent, SprintAutoStartEvent, VelocityChartIssueLimitChangedEvent, VelocityChartSprintLimitChangedEvent, UnlicensedAnalyticsEvent, CollectIssuesEvent, MoceIssueEvent

Listeners: Execution failure notifier

(error)


Listeners: Fast-track transition an issue

ALT

The same function can be achieved using a Custom Listener and a script to transition an issue.

Listeners: Fires an event when a condition is true

(error)


Listeners: Post a message to slack

ALT

The same function can be achieved using a Custom Listener and a script to Post to Slack.

Listeners: Send a custom email (non-issue events)

ALT

The same function can be achieved using a Custom Listener and a script to send an email.

The notify API doesn’t allow you to email external emails, and only allows you to notify users, groups, or user fields (such as assignee or reporter) on an issue.

Listeners: Send a custom email

ALT

The same function can be achieved using a Custom Listener and a script to send an email.

The notify API doesn’t allow you to email external emails, and only allows you to notify users, groups, or user fields (such as assignee or reporter) on an issue.

Listeners: Version Synchronizer

ALT

The same function can be achieved by writing your own script in the Custom Listener but with all the caveats of time limitation, API availability, etc. Check out our page on Scripting in ScriptRunner for Jira Cloud for tips. 

Mail Handler

(error)


Resources: Database Connection

(error)


Resources: LDAP Connection

(error)


Resources: Local Database Connection

(error)


Resources: Slack Connection

(error)


REST End-Points: Custom End Point

(error)


Script Console

(tick)

There is a limit of 120 seconds for Cloud script executions. After running for 120 seconds, the logs will be collected, and the code will be terminated.

Script Editor

(error)


Script Fragments

Cloud supports Web Panels only. Script source must be specified (and accessible to Jira), in line script is not available. 

Script Fields

Script Fields: Custom Script Fields

In Cloud, Scripted Fields are not stored as normal Jira custom fields. Instead, the field output is added to an issue’s properties and therefore inherits the issue’s permissions. Scripted Fields are not currently searchable with JQL, but we’re working on making this available as soon as possible.

Script Fields: Custom Picker

(error)


Script Fields: Database Picker

(error)


Script Fields: Date of the first transition

ALT

The same function can be achieved using a Custom Scripted Field and a script using a Text Field type.

Script Fields: Issue(s) Picker

(error)


Script Fields: LDAP Picker Field

(error)


Script Fields: No. of times in a status

ALT

The same function can be achieved by writing your own script in the Custom Scripted Field but with all the caveats of time limitation, API availability, etc. Check out our page on Scripting in ScriptRunner for Jira Cloud for tips. 

Script Fields: Remote issue(s) picker

(error)


Script Fields: Show parent issue in a hierarchy

ALT

The same function can be achieved by writing your own script in the Custom Scripted Field but with all the caveats of time limitation, API availability, etc. Check out our page on Scripting in ScriptRunner for Jira Cloud for tips.

Script Fields: Time of Last status Change

ALT

The same function can be achieved using a Custom Scripted Field and a script using a Text Field Type.

Settings > Script Edit Permissions

(error)


Workflow Conditions

ScriptRunner for Jira Cloud provides workflow conditions using the Jira Expression Framework. It is not possible to use the REST API.

Workflow > Condition: All sub-tasks must be resolved

ALT

The same function can be achieved using a custom script condition and a script to check all sub-tasks are resolved.

Workflow > Condition: Allows the transition if this query matches a JQL query

(error)


Workflow > Condition: Checks the issue has been in a status previously

ALT

The same function can be achieved using a custom script condition and a script that Checks the Issue Has Been in a Status Previously.

Workflow > Condition: Custom script condition

(error)

Cloud conditions use Jira Expression language where the result must be true or false. The custom script condition in Cloud has closer parity to Simple Scripted Condition

Workflow > Condition: Field(s) required condition

ALT

The same function can be achieved using a custom script condition and a Field(s) Required script.

Workflow > Condition: Group(s) condition

ALT

The same function can be achieved using a custom script condition and a script to check the user is within a specified user group.

Workflow > Condition: JQL query matches condition

(error)


Workflow > Condition: Linked issues condition

ALT

The same function can be achieved using a custom script condition and a Linked Issues script.

Workflow > Condition: Project role(s) condition

ALT

The same function can be achieved using a custom script condition and a script to check the user is within a specified project role.

Workflow > Condition: Regular expression condition

ALT

The same function can be achieved using a custom script condition and the Regular Expressions script.

Workflow > Condition: Simple scripted condition

Cloud conditions use Jira Expression language where the result must be true or false, it does not use Groovy.

Workflow > Condition: User in field(s) condition

ALT

The same function can be achieved using a custom script condition and the User in Field(s) script.

Workflow > Condition: User(s) and User Group(s) condition

ALT

The same function can be achieved using a custom script condition and the User(s) and User Group(s) script.

Workflow Post Functions

Workflow > Post Function: Add a comment to this issue

ALT

The same function can be achieved using a custom post function and a script.

Workflow > Post Function: Add/remove from sprint

(tick)


Workflow > Post Function: Adds a comment to linked issues when this issue is transitioned

ALT

The same function can be achieved using a custom post function and a script.

Workflow > Post Function: Adds the current user as a watcher

ALT

The same function can be achieved using a custom post function and a script.


Workflow > Post Function: Archive this issue

(error)


Workflow > Post Function: Assign to first member of role

ALT

The same function can be achieved using a custom post function.

Workflow > Post Function: Assign to last role member

ALT

The same function can be achieved using a custom post function.

Workflow > Post Function: Clear field(s) post function

ALT

The same function can be achieved using a custom post function and a script.

Workflow > Post Function: Clones an issue, and links

(tick)


Workflow > Post Function: Copy field values

ALT

The same function can be achieved by writing your own script in the custom post function but with all the caveats of time limitation, API availability, etc. Check out our page on Scripting in ScriptRunner for Jira Cloud for tips. 

Workflow > Post Function: Create a sub-task

(tick)


Workflow > Post Function: Custom script post-function

(tick)


Workflow > Post Function: Fast-track transition an issue

(tick)


Workflow > Post Function: Fires an event when condition is true

(error)


Workflow > Post Function: Post a message to Slack

ALT

The same function can be achieved using a custom script post-function with a script to post to Slack

Workflow > Post Function: Send a custom email

(tick)

The equivalent in Cloud is “Send Notification”.

Workflow > Post Function: Set issue security level depending on provided condition

(error)


Workflow > Post Function: Transition parent when all subtasks are resolved

The same function can be achieved using the fast-track transition issue built-in post function and adding a condition script to verify all subtasks are resolved. 

Workflow Validator

ScriptRunner for Jira Cloud provides workflow conditions using the Jira Expression Framework. It is not possible to use the REST API.

Workflow > Validator: Custom script validator

(error)

Cloud conditions use Jira Expression language where the result must be true or false. The custom script validator in Cloud has closer parity to Simple Scripted Validator.

Workflow > Validator: Field(s) changed validator

ALT

The same function can be achieved using a custom script validator and the Field(s) Changed script.

Workflow > Validator: Field(s) required validator

ALT

The same function can be achieved using a custom script validator and the Field(s) Required script.

Workflow > Validator: Regular expression validator

ALT

The same function can be achieved using a custom script validator and a script.

Workflow > Validator: Require a comment on transition

ALT

This script can be used to enforce that a comment has been given on transition.

Workflow > Validator: Simple scripted validator

Cloud conditions use the Jira Expression language where the result must be true or false, it does not use Groovy.

Workflow > Validator: User in field(s) validator

ALT

The same function can be achieved using a custom script validator and a script.


On this page