Feature Parity

KeyDefinition

Y

Full value parity

!

Partial value parity. Possible workarounds available.

N

No value parity and no possible workarounds available.

Server Feature NameServerCloudWorkaroundComments

Script Console

Y

Y


Cloud has API limitations compared to Server/DC and scripts can only run up to 60 sec, otherwise, it’s shut down.

Built-In: Bulk Fix Resolution

Y

Y



Built-In: Bulk Import Custom Fields

Y

!

Same value can be achieved by writing your own script in the Script Console but with all the caveats of time limitation, API availability, etc.


Built-In: Config Exporter

Y

N



Built-In: Copy Custom Field Values

Y

!

Same value can be achieved by writing your own script in the Script Console but with all the caveats of time limitation, API availability, etc.


Built-In: Copy Project

Y

N



Built-In: Service Desk Template Comments

Y

N



Built-In: Generate Events

Y

N



Built-In: Clear Groovy Classloader or Jira Internal Caches

Y

N



Built-In: Re-index Issues

Y

N



Built-In: Script Registry

Y

N



Built-In: Split Custom Field Contexts

Y

N



Built-In: Switch to a Different User

Y

N



Built-In: Configuration Exporter

Y

N



Built-In: List Scheduled Jobs

Y

N



Built-In: View Server Log Files

Y

N



Built-In: Test Runner

Y

N



Jobs: Custom Job

Y

Y


A minimum interval of 1 hour. 60 secs limitation.

Jobs: Escalation Services

Y

Y


50 issues at a time. A minimum interval of 1 hour.

Jobs: Issue Archiving Job

Y

N



Listeners: Custom Listener

Y

Y


60 secs limitation. Events list in Cloud is different than the list in Server.

Listeners: Remote Custom Listener

Y

N



Listeners: Remote Custom Event Handler Dispatcher

Y

N



Listeners: Send a custom e-mail (non-issue events)

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.

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

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Adds the current user as a watcher

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Clone an issue and links

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Create a sub-task

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Fast-track transition an issue

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Fires an event when a condition is true

Y

N



Listeners: Post a message to slack

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.


Listeners: Send a custom email

Y

!

Same value can be achieved by writing your own script using the Listeners feature but with all the caveats of time limitation, API availability, etc.

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.

Script Fields: Custom Script Fields

Y

Y


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.

Script Fields: Date of the first transition

Y

!

Same value can be achieved by writing your own script in a Custom Scripted Field but with all the caveats of time limitation, API availability, etc.


Script Fields: Issue(s) Picker

Y

N



Script Fields: No. of times in a status

Y

!

Same value can be achieved by writing your own script in a Custom Scripted Field but with all the caveats of time limitation, API availability, etc.


Script Fields: Show parent issue in a hierarchy

Y

!

Same value can be achieved by writing your own script in a Custom Scripted Field but with all the caveats of time limitation, API availability, etc.


Script Fields: Remote issue(s) picker

Y

N



Script Fields: Time of Last status Change

Y

!

Same value can be achieved by writing your own script in a Custom Scripted Field but with all the caveats of time limitation, API availability, etc.


Script Fields: Database Picker

Y

N



Script Fields: LDAP Picker Field

Y

N



Behaviours

Y

N



Workflow > Condition: Custom script condition

Y

Y



Workflow > Condition: All sub-tasks must be resolved

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.


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

Y

N



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

Y

N



Workflow > Condition: Simple scripted condition

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Condition: Field(s) required conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Condition: User in field(s) conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Condition: Group(s) conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Condition: User(s) conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Condition: Regular expression conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Condition: Project role(s) conditionY!Same value can be achieved by writing your own script in a Scripted Workflow Condition but the language used here is Atlassian Expression language. It’s not groovy.

Workflow > Validator: Custom script validator

Y

Y



Workflow > Validator: Require a comment on transition

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Validator but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Validator: Field(s) changed validator

Y

N



Workflow > Validator: Simple scripted validator

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Validator but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Validator: Field(s) required validatorY!Same value can be achieved by writing your own script in a Scripted Workflow Validator but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Validator: User in field(s) validatorY!Same value can be achieved by writing your own script in a Scripted Workflow Validator but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Validator: Regular expression validatorY!Same value can be achieved by writing your own script in a Scripted Workflow Validator but the language used here is Atlassian Expression language. It’s not groovy.

Workflow > Post Function: Custom script post-function

Y

Y



Workflow > Post Function: Add/remove from sprint

Y

Y



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

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Post Function: Archive this issue

Y

N



Workflow > Post Function: Assign to last role member

Y

Y



Workflow > Post Function: Assign to first member of role

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Post Function: Clones an issue, and links

Y

Y



Workflow > Post Function: Create a sub-task

Y

Y



Workflow > Post Function: Fast-track transition an issue

Y

Y



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

Y

N



Workflow > Post Function: Post a message to Slack

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.


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

Y

Y



Workflow > Post Function: Send a custom email

Y

Y



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

Y

N



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

Y

!

Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.


Workflow > Post Function: Clear field(s) post functionY!Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.
Workflow > Post Function: Add a comment to this issue post functionY!Same value can be achieved by writing your own script in a Scripted Workflow Post Function but the language used here is Atlassian Expression language. It’s not groovy.

Fragments

Y

Cloud only has Web Panels currently.



JQL Functions: linkedIssuesOfRemote

Y

N



JQL Functions: epicsOf

Y

Y


It’s available for Classic Jira projects but not for Next-Gen projects.

JQL Functions: fileAttached

Y

!

There is not a like for like function in Cloud, but depending on what you want to achieve you could use some SR JQL Keywords to achieve the same: numberOfAttachments, attachmentType, firstAttachmentDate, lastAttachmentDate, fileAttachedBy. Further information about these JQL Keywords can be found here.


JQL Functions: nextSprint

Y

Y



JQL Functions: earliestUnreleasedVersionByReleaseDate

Y

N



JQL Functions: startDate

Y

N



JQL Functions: inactiveUsers

Y

N



JQL Functions: projectMatch

Y

Y



JQL Functions: overdue

Y

N



JQL Functions: lastUpdated

Y

N



JQL Functions: linkedIssuesOfRecursive

Y

Y



JQL Functions: hasLinkType

Y

Y

The SR JQL Keyword: issueLinkType can be used. See the documentation for more information.


JQL Functions: linkedIssuesOfAllRecursive

Y

N



JQL Functions: releaseDate

Y

N



JQL Functions: subtasksOf

Y

Y



JQL Functions: myProjects

Y

N



JQL Functions: previousSprint

Y

Y



JQL Functions: parentsOf

Y

Y



JQL Functions: hasComments

Y

Y

The SR JQL Keyword: numberOfComments can be used. See the documentation for more information.


JQL Functions: removedAfterSprintStart

Y

N



JQL Functions: commented

Y

!

There is not a like for like function in Cloud, but depending on what you want to achieve you could use some SR JQL Keywords to achieve the same: firstCommentedDate, lastCommentedDate, commentedOn, commentedBy, commentVisibleRole, commentVisibleGroup, lastCommentBy, lastCommentVisibleRole, lastCommentVisibleGroup Further information about these JQL Keywords can be found here


JQL Functions: aggregateExpression

Y

N



JQL Functions: hasLinks

Y

!

There is not a like for like function in Cloud, but you depending on what you want to achieve could use some SR JQL Keywords to achieve the same: numberOfLinks, issueLinkType, hasLinks Further information about these JQL Keywords can be found here


JQL Functions: dateCompare

Y

Y



JQL Functions: expression

Y

Y



JQL Functions: hasRemoteLinks

Y

N



JQL Functions: jiraUserPropertyEquals

Y

N



JQL Functions: componentMatch

Y

Y



JQL Functions: linkedIssuesOf

Y

Y



JQL Functions: issueFieldMatch

Y

Y



JQL Functions: linkedIssuesOfAllRecursiveLimited

Y

N



JQL Functions: linkedIssuesOfAll

Y

N



JQL Functions: lastComment

Y

!

There is not a like for like function in Cloud, but you depending on what you want to achieve could use some SR JQL Keywords to achieve the same: lastCommentBy, lastCommentVisibleRow, lastCommentVisibleGroup, lastCommentedDate Further information about these JQL Keywords can be found here


JQL Functions: hasAttachments

Y

!

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


JQL Functions: addedAfterSprintStart

Y

Y


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: issuesInEpics

Y

Y


It’s available for Classic Jira projects but not for Next-Gen projects. See the documentation for more information.

JQL Functions: linkedIssuesOfRecursiveLimited

Y

Y



JQL Functions: recentProjects

Y

N



JQL Functions: completeInSprint

Y

N



JQL Functions: workLogged

Y

!

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


JQL Functions: incompleteInSprint

Y

N



JQL Functions: issueFieldExactMatch

Y

Y


In Cloud this feature is called issueFieldMatchExact.

JQL Functions: hasSubtasks

Y

Y


You could use the JQL Keywords: numberOfSubtasks to have the same result See the documentation for more information

JQL Functions: versionMatch

Y

Y



REST End-Points: Custom End Point

Y

N



Resources: Database Connection

Y

N



Resources: Local Database Connection

Y

N



Resources: LDAP Connection

Y

N



Script Editor

Y

N



Settings > Script Edit Permissions

Y

N



Mail Handler

Y

N



Code Insights

Y

N