JIRA 7.6.1
  1. Workflows
JIRA 7.6.1
  • Announcement banner
    • Get announcement banner configuration
      GET
    • Update announcement banner configuration
      PUT
  • Issue custom field values (apps)
    • Update custom fields
      POST
    • Update custom field value
      PUT
  • Issue custom field configuration (apps)
    • Get custom field configurations
      GET
    • Update custom field configurations
      PUT
  • Jira settings
    • Get application property
      GET
    • Get advanced settings
      GET
    • Set application property
      PUT
    • Get global settings
      GET
  • Application roles
    • Get all application roles
      GET
    • Get application role
      GET
  • Issue attachments
    • Get attachment content
      GET
    • Get Jira attachment settings
      GET
    • Get attachment thumbnail
      GET
    • Get attachment metadata
      GET
    • Delete attachment
      DELETE
    • Get all metadata for an expanded attachment
      GET
    • Get contents metadata for an expanded attachment
      GET
    • Add attachment
      POST
  • Audit records
    • Get audit records
  • Avatars
    • Get system avatars by type
    • Get avatars
    • Load avatar
    • Delete avatar
    • Get avatar image by type
    • Get avatar image by ID
    • Get avatar image by owner
  • Issue comments
    • Get comments by IDs
    • Get comments
    • Add comment
    • Get comment
    • Update comment
    • Delete comment
  • Issue comment properties
    • Get comment property keys
    • Get comment property
    • Set comment property
    • Delete comment property
  • Project components
    • Create component
    • Get component
    • Update component
    • Delete component
    • Get component issues count
    • Get project components paginated
    • Get project components
  • Time tracking
    • Get selected time tracking provider
    • Select time tracking provider
    • Get all time tracking providers
    • Get time tracking settings
    • Set time tracking settings
  • Issue custom field options
    • Get custom field option
    • Get custom field options (context)
    • Update custom field options (context)
    • Create custom field options (context)
    • Reorder custom field options (context)
    • Delete custom field options (context)
  • Dashboards
    • Get all dashboards
    • Create dashboard
    • Get available gadgets
    • Search for dashboards
    • Get gadgets
    • Add gadget to dashboard
    • Update gadget on dashboard
    • Remove gadget from dashboard
    • Get dashboard item property keys
    • Get dashboard item property
    • Set dashboard item property
    • Delete dashboard item property
    • Get dashboard
    • Update dashboard
    • Delete dashboard
    • Copy dashboard
  • Issues
    • Get events
    • Create issue
    • Bulk create issue
    • Get create issue metadata
    • Get issue
    • Edit issue
    • Delete issue
    • Assign issue
    • Get changelogs
    • Get changelogs by IDs
    • Get edit issue metadata
    • Send notification for issue
    • Get transitions
    • Transition issue
  • Jira expressions
    • Analyse Jira expression
    • Evaluate Jira expression
  • Issue fields
    • Get fields
    • Create custom field
    • Get fields paginated
    • Get fields in trash paginated
    • Update custom field
    • Get contexts for a field
    • Delete custom field
    • Restore custom field from trash
    • Move custom field to trash
  • Issue custom field contexts
    • Get custom field contexts
    • Create custom field context
    • Get custom field contexts default values
    • Set custom field contexts default values
    • Get issue types for custom field context
    • Get custom field contexts for projects and issue types
    • Get project mappings for custom field context
    • Update custom field context
    • Delete custom field context
    • Add issue types to context
    • Remove issue types from context
    • Assign custom field context to projects
    • Remove custom field context from projects
  • Screens
    • Get screens for a field
    • Get screens
    • Create screen
    • Add field to default screen
    • Update screen
    • Delete screen
    • Get available screen fields
  • Issue custom field options (apps)
    • Get all issue field options
    • Create issue field option
    • Get selectable issue field options
    • Get visible issue field options
    • Get issue field option
    • Update issue field option
    • Delete issue field option
    • Replace issue field option
  • Issue field configurations
    • Get all field configurations
    • Create field configuration
    • Update field configuration
    • Delete field configuration
    • Get field configuration items
    • Update field configuration items
    • Get all field configuration schemes
    • Create field configuration scheme
    • Get field configuration issue type items
    • Get field configuration schemes for projects
    • Assign field configuration scheme to project
    • Update field configuration scheme
    • Delete field configuration scheme
    • Assign issue types to field configurations
    • Remove issue types from field configuration scheme
  • Filters
    • Create filter
    • Get favorite filters
    • Get my filters
    • Search for filters
    • Get filter
    • Update filter
    • Delete filter
    • Get columns
    • Set columns
    • Reset columns
    • Add filter as favorite
    • Remove filter as favorite
    • Change filter owner
  • Filter sharing
    • Get default share scope
    • Set default share scope
    • Get share permissions
    • Add share permission
    • Get share permission
    • Delete share permission
  • Groups
    • Get group
    • Create group
    • Remove group
    • Bulk get groups
    • Get users from group
    • Add user to group
    • Remove user from group
    • Find groups
  • Group and user picker
    • Find users and groups
  • License metrics
    • Get license
    • Get approximate license count
    • Get approximate application license count
  • Issue search
    • Get issue picker suggestions
    • Check issues against JQL
    • Search for issues using JQL (GET)
    • Search for issues using JQL (POST)
  • Issue properties
    • Bulk set issues properties by list
    • Bulk set issue properties by issue
    • Bulk set issue property
    • Bulk delete issue property
    • Get issue property keys
    • Get issue property
    • Set issue property
    • Delete issue property
  • Issue watchers
    • Get is watching issue bulk
    • Get issue watchers
    • Add watcher
    • Delete watcher
  • Issue remote links
    • Get remote issue links
    • Create or update remote issue link
    • Delete remote issue link by global ID
    • Get remote issue link by ID
    • Update remote issue link by ID
    • Delete remote issue link by ID
  • Issue votes
    • Get votes
    • Add vote
    • Delete vote
  • Issue worklogs
    • Get issue worklogs
    • Add worklog
    • Get worklog
    • Update worklog
    • Delete worklog
    • Get IDs of deleted worklogs
    • Get worklogs
    • Get IDs of updated worklogs
  • Issue worklog properties
    • Get worklog property keys
    • Get worklog property
    • Set worklog property
    • Delete worklog property
  • Issue links
    • Create issue link
    • Get issue link
    • Delete issue link
  • Issue link types
    • Get issue link types
    • Create issue link type
    • Get issue link type
    • Update issue link type
    • Delete issue link type
  • Issue security schemes
    • Get issue security schemes
    • Create issue security scheme
    • Get issue security levels
    • Set default issue security levels
    • Get issue security level members
    • Get projects using issue security schemes
    • Associate security scheme to project
    • Search issue security schemes
    • Get issue security scheme
    • Update issue security scheme
    • Delete issue security scheme
    • Add issue security levels
    • Update issue security level
    • Remove issue security level
    • Add issue security level members
    • Remove member from issue security level
  • Issue security level
    • Get issue security level members
    • Get issue security level
  • Issue types
    • Get all issue types for user
    • Create issue type
    • Get issue types for project
    • Get issue type
    • Update issue type
    • Delete issue type
    • Get alternative issue types
    • Load issue type avatar
  • Issue type properties
    • Get issue type property keys
    • Get issue type property
    • Set issue type property
    • Delete issue type property
  • Issue type schemes
    • Get all issue type schemes
    • Create issue type scheme
    • Get issue type scheme items
    • Get issue type schemes for projects
    • Assign issue type scheme to project
    • Update issue type scheme
    • Delete issue type scheme
    • Add issue types to issue type scheme
    • Change order of issue types
    • Remove issue type from issue type scheme
  • Issue type screen schemes
    • Get issue type screen schemes
    • Create issue type screen scheme
    • Get issue type screen scheme items
    • Get issue type screen schemes for projects
    • Assign issue type screen scheme to project
    • Update issue type screen scheme
    • Delete issue type screen scheme
    • Append mappings to issue type screen scheme
    • Update issue type screen scheme default screen scheme
    • Remove mappings from issue type screen scheme
    • Get issue type screen scheme projects
  • JQL
    • Get field reference data (GET)
    • Get field reference data (POST)
    • Get field auto complete suggestions
    • Parse JQL query
    • Convert user identifiers to account IDs in JQL queries
    • Sanitize JQL queries
  • JQL functions (apps)
    • Get precomputations (apps)
    • Update precomputations (apps)
  • Labels
    • Get all labels
  • Permissions
    • Get my permissions
    • Get all permissions
    • Get bulk permissions
    • Get permitted projects
  • Myself
    • Get preference
    • Set preference
    • Delete preference
    • Get locale
    • Set locale
    • Delete locale
    • Get current user
  • Issue notification schemes
    • Get notification schemes paginated
    • Create notification scheme
    • Get projects using notification schemes paginated
    • Get notification scheme
    • Update notification scheme
    • Add notifications to notification scheme
    • Delete notification scheme
    • Remove notification from notification scheme
  • Permission schemes
    • Get all permission schemes
    • Create permission scheme
    • Get permission scheme
    • Update permission scheme
    • Delete permission scheme
    • Get permission scheme grants
    • Create permission grant
    • Get permission scheme grant
    • Delete permission scheme grant
  • Issue priorities
    • Get priorities
    • Create priority
    • Set default priority
    • Move priorities
    • Search priorities
    • Get priority
    • Update priority
    • Delete priority
  • Projects
    • Get all projects
    • Create project
    • Get recent projects
    • Get projects paginated
    • Get project
    • Update project
    • Delete project
    • Archive project
    • Delete project asynchronously
    • Restore deleted or archived project
    • Get all statuses for project
    • Get project issue type hierarchy
    • Get project notification scheme
  • Project types
    • Get all project types
    • Get licensed project types
    • Get project type by key
    • Get accessible project type by key
  • Project avatars
    • Set project avatar
    • Delete project avatar
    • Load project avatar
    • Get all project avatars
  • Project features
    • Get project features
    • Set project feature state
  • Project properties
    • Get project property keys
    • Get project property
    • Set project property
    • Delete project property
  • Project roles
    • Get project roles for project
    • Get project role for project
    • Get project role details
    • Get all project roles
    • Create project role
    • Get project role by ID
    • Fully update project role
    • Partial update project role
    • Delete project role
  • Project role actors
    • Set actors for project role
    • Add actors to project role
    • Delete actors from project role
    • Get default actors for project role
    • Add default actors to project role
    • Delete default actors from project role
  • Project versions
    • Get project versions paginated
    • Get project versions
    • Create version
    • Get version
    • Update version
    • Delete version
    • Merge versions
    • Move version
    • Get version's related issues count
    • Delete and replace version
    • Get version's unresolved issues count
  • Project email
    • Get project's sender email
    • Set project's sender email
  • Project permission schemes
    • Get project issue security scheme
    • Get assigned permission scheme
    • Assign permission scheme
    • Get project issue security levels
  • Project categories
    • Get all project categories
    • Create project category
    • Get project category by ID
    • Update project category
    • Delete project category
  • Project key and name validation
    • Validate project key
    • Get valid project key
    • Get valid project name
  • Issue resolutions
    • Get resolutions
    • Create resolution
    • Set default resolution
    • Move resolutions
    • Search resolutions
    • Get resolution
    • Update resolution
    • Delete resolution
  • Screen tabs
    • Get all screen tabs
    • Create screen tab
    • Update screen tab
    • Delete screen tab
    • Move screen tab
  • Screen tab fields
    • Get all screen tab fields
    • Add screen tab field
    • Remove screen tab field
    • Move screen tab field
  • Screen schemes
    • Get screen schemes
    • Create screen scheme
    • Update screen scheme
    • Delete screen scheme
  • Server info
    • Get Jira instance info
  • Issue navigator settings
    • Get issue navigator default columns
    • Set issue navigator default columns
  • Workflow statuses
    • Get all statuses
    • Get status
  • Workflow status categories
    • Get all status categories
    • Get status category
  • Status
    • Bulk get statuses
    • Bulk update statuses
    • Bulk create statuses
    • Bulk delete Statuses
    • Search statuses paginated
  • Tasks
    • Get task
    • Cancel task
  • UI modifications (apps)
    • Get UI modifications
    • Create UI modification
    • Update UI modification
    • Delete UI modification
  • Users
    • Get user
    • Create user
    • Delete user
    • Bulk get users
    • Get account IDs for users
    • Get user default columns
    • Set user default columns
    • Reset user default columns
    • Get user email
    • Get user email bulk
    • Get user groups
    • Get all users default
    • Get all users
  • User search
    • Find users assignable to projects
    • Find users assignable to issues
    • Find users with permissions
    • Find users for picker
    • Find users
    • Find users by query
    • Find user keys by query
    • Find users with browse permission
  • User properties
    • Get user property keys
    • Get user property
    • Set user property
    • Delete user property
  • Webhooks
    • Get dynamic webhooks for app
    • Register dynamic webhooks
    • Delete webhooks by ID
    • Get failed webhooks
    • Extend webhook life
  • Workflows
    • Get all workflows
      GET
    • Create workflow
      POST
    • Get workflows paginated
      GET
    • Delete inactive workflow
      DELETE
    • Bulk get workflows
      POST
    • Get available workflow capabilities
      GET
    • Bulk create workflows
      POST
    • Validate create workflows
      POST
    • Bulk update workflows
      POST
    • Validate update workflows
      POST
  • Workflow transition rules
    • Get workflow transition rule configurations
    • Update workflow transition rule configurations
    • Delete workflow transition rule configurations
  • Workflow transition properties
    • Get workflow transition properties
    • Update workflow transition property
    • Create workflow transition property
    • Delete workflow transition property
  • Workflow schemes
    • Get all workflow schemes
    • Create workflow scheme
    • Get workflow scheme
    • Update workflow scheme
    • Delete workflow scheme
    • Get default workflow
    • Update default workflow
    • Delete default workflow
    • Get workflow for issue type in workflow scheme
    • Set workflow for issue type in workflow scheme
    • Delete workflow for issue type in workflow scheme
    • Get issue types for workflows in workflow scheme
    • Set issue types for workflow in workflow scheme
    • Delete issue types for workflow in workflow scheme
  • Workflow scheme project associations
    • Get workflow scheme project associations
    • Assign workflow scheme to project
  • Workflow scheme drafts
    • Create draft workflow scheme
    • Get draft workflow scheme
    • Update draft workflow scheme
    • Delete draft workflow scheme
    • Get draft default workflow
    • Update draft default workflow
    • Delete draft default workflow
    • Get workflow for issue type in draft workflow scheme
    • Set workflow for issue type in draft workflow scheme
    • Delete workflow for issue type in draft workflow scheme
    • Publish draft workflow scheme
    • Get issue types for workflows in draft workflow scheme
    • Set issue types for workflow in workflow scheme
    • Delete issue types for workflow in draft workflow scheme
  • App properties
    • Get app properties
    • Get app property
    • Set app property
    • Delete app property
    • Set app property (Forge)
    • Delete app property (Forge)
  • Dynamic modules
    • Get modules
    • Register modules
    • Remove modules
  • App migration
    • Bulk update custom field value
    • Bulk update entity properties
    • Get workflow transition rule configurations
  1. Workflows

Get available workflow capabilities

GET
/rest/api/3/workflows/capabilities
Workflows
Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of project types that the workflow is scoped to. It also includes all rules organised into their broad categories (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect, Forge).
Permissions required:
Administer Jira project permission to access all, including global-scoped, workflows
Administer projects project permissions to access project-scoped workflows
The current list of Atlassian-provided rules:

Validators#

A validator rule that checks if a user has the required permissions to execute the transition in the workflow.
Permission validator#
A validator rule that checks if a user has the required permissions to execute the transition in the workflow.
{
"ruleKey": "system:check-permission-validator",
"parameters": {
"permissionKey": "ADMINISTER_PROJECTS"
}
}
Parameters:
permissionKey The permission required to perform the transition. Allowed values: built-in Jira permissions.
Parent or child blocking validator#
A validator to block the child issue’s transition depending on the parent issue’s status.
{
"ruleKey" : "system:parent-or-child-blocking-validator"
"parameters" : {
"blocker" : "PARENT"
"statusIds" : "1,2,3"
}
}
Parameters:
blocker currently only supports PARENT.
statusIds a comma-separated list of status IDs.
Previous status validator#
A validator that checks if an issue has transitioned through specified previous status(es) before allowing the current transition to occur.
{
"ruleKey": "system:previous-status-validator",
"parameters": {
"previousStatusIds": "10014",
"mostRecentStatusOnly": "true"
}
}
Parameters:
previousStatusIds a comma-separated list of status IDs, currently only support one ID.
mostRecentStatusOnly when true only considers the most recent status for the condition evaluation. Allowed values: true, false.
Validate a field value#
A validation that ensures a specific field's value meets the defined criteria before allowing an issue to transition in the workflow.
Depending on the rule type, the result will vary:
Field required#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldRequired",
"fieldsRequired": "assignee",
"ignoreContext": "true",
"errorMessage": "An assignee must be set!"
}
}
Parameters:
fieldsRequired the ID of the field that is required. For a custom field, it would look like customfield_123.
ignoreContext controls the impact of context settings on field validation. When set to true, the validator doesn't check a required field if its context isn't configured for the current issue. When set to false, the validator requires a field even if its context is invalid. Allowed values: true, false.
errorMessage is the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).
Field changed#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldChanged",
"groupsExemptFromValidation": "6862ac20-8672-4f68-896d-4854f5efb79e",
"fieldKey": "versions",
"errorMessage": "Affect versions must be modified before transition"
}
}
Parameters:
groupsExemptFromValidation a comma-separated list of group IDs to be exempt from the validation.
fieldKey the ID of the field that has changed. For a custom field, it would look like customfield_123.
errorMessage the error message to display if the user does not provide a value during the transition. A default error message will be shown if you don't provide one (Optional).
Field has a single value#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldHasSingleValue",
"fieldKey": "created",
"excludeSubtasks": "true"
}
}
Parameters:
fieldKey the ID of the field to validate. For a custom field, it would look like customfield_123.
excludeSubtasks Option to exclude values copied from sub-tasks. Allowed values: true, false.
Field matches regular expression#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "fieldMatchesRegularExpression",
"regexp": "[0-9]{4}",
"fieldKey": "description"
}
}
Parameters:
regexp the regular expression used to validate the field’s content.
fieldKey the ID of the field to validate. For a custom field, it would look like customfield_123.
Date field comparison#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "dateFieldComparison",
"date1FieldKey": "duedate",
"date2FieldKey": "customfield_10054",
"includeTime": "true",
"conditionSelected": ">="
}
}
Parameters:
date1FieldKey the ID of the first field to compare. For a custom field, it would look like customfield_123.
date2FieldKey the ID of the second field to compare. For a custom field, it would look like customfield_123.
includeTime if true, compares both date and time. Allowed values: true, false.
conditionSelected the condition to compare with. Allowed values: >, >=, =, <=, <, !=.
Date range comparison#
{
"ruleKey": "system:validate-field-value",
"parameters": {
"ruleType": "windowDateComparison",
"date1FieldKey": "customfield_10009",
"date2FieldKey": "customfield_10054",
"numberOfDays": "3"
}
}
Parameters:
date1FieldKey the ID of the first field to compare. For a custom field, it would look like customfield_123.
date2FieldKey the ID of the second field to compare. For a custom field, it would look like customfield_123.
numberOfDays maximum number of days past the reference date (date2FieldKey) to pass validation.
This rule is composed by aggregating the following legacy rules:
FieldRequiredValidator
FieldChangedValidator
FieldHasSingleValueValidator
RegexpFieldValidator
DateFieldValidator
WindowsDateValidator
Proforma: Forms attached validator#
Validates that one or more forms are attached to the issue.
{
"ruleKey" : "system:proforma-forms-attached"
"parameters" : {}
}
Proforma: Forms submitted validator#
Validates that all forms attached to the issue have been submitted.
{
"ruleKey" : "system:proforma-forms-submitted"
"parameters" : {}
}

Conditions#

Conditions enable workflow rules that govern whether a transition can execute.
Check field value#
A condition rule evaluates as true if a specific field's value meets the defined criteria. This rule ensures that an issue can only transition to the next step in the workflow if the field's value matches the desired condition.
{
"ruleKey": "system:check-field-value",
"parameters": {
"fieldId": "description",
"fieldValue": "["Done"]",
"comparator": "=",
"comparisonType": "STRING"
}
}
Parameters:
fieldId The ID of the field to check the value of. For non-system fields, it will look like customfield_123. Note: fieldId is used interchangeably with the idea of fieldKey here, they refer to the same field.
fieldValue the list of values to check against the field’s value.
comparator The comparison logic. Allowed values: >, >=, =, <=, <, !=.
comparisonType The type of data being compared. Allowed values: STRING, NUMBER, DATE, DATE_WITHOUT_TIME, OPTIONID.
Restrict issue transition#
This rule ensures that issue transitions are restricted based on user accounts, roles, group memberships, and permissions, maintaining control over who can transition an issue. This condition evaluates as true if any of the following criteria is met.
{
"ruleKey": "system:restrict-issue-transition",
"parameters": {
"accountIds": "allow-reporter,5e68ac137d64450d01a77fa0",
"roleIds": "10002,10004",
"groupIds": "703ff44a-7dc8-4f4b-9aa6-a65bf3574fa4",
"permissionKeys": "ADMINISTER_PROJECTS",
"groupCustomFields": "customfield_10028",
"allowUserCustomFields": "customfield_10072,customfield_10144,customfield_10007",
"denyUserCustomFields": "customfield_10107"
}
}
Parameters:
accountIds a comma-separated list of the user account IDs. It also allows generic values like: allow-assignee, allow-reporter, and accountIds Note: This is only supported in team-managed projects
roleIds a comma-separated list of role IDs.
groupIds a comma-separated list of group IDs.
permissionKeys a comma-separated list of permission keys. Allowed values: built-in Jira permissions.
groupCustomFields a comma-separated list of group custom field IDs.
allowUserCustomFields a comma-separated list of user custom field IDs to allow for issue transition.
denyUserCustomFields a comma-separated list of user custom field IDs to deny for issue transition.
This rule is composed by aggregating the following legacy rules:
AllowOnlyAssignee
AllowOnlyReporter
InAnyProjectRoleCondition
InProjectRoleCondition
UserInAnyGroupCondition
UserInGroupCondition
PermissionCondtion
InGroupCFCondition
UserIsInCustomFieldCondition
Previous status condition#
A condition that evaluates based on an issue's previous status(es) and specific criteria.
{
"ruleKey" : "system:previous-status-condition"
"parameters" : {
"previousStatusIds" : "10004",
"not": "true",
"mostRecentStatusOnly" : "true",
"includeCurrentStatus": "true",
"ignoreLoopTransitions": "true"
}
}
Parameters:
previousStatusIds a comma-separated list of status IDs, current only support one ID.
not indicates if the condition should be reversed. When true it checks that the issue has not been in the selected statuses. Allowed values: true, false.
mostRecentStatusOnly when true only considers the most recent status for the condition evaluation. Allowed values: true, false.
includeCurrentStatus includes the current status when evaluating if the issue has been through the selected statuses. Allowed values: true, false.
ignoreLoopTransitions ignore loop transitions. Allowed values: true, false.
Parent or child blocking condition#
A condition to block the parent’s issue transition depending on the child’s issue status.
{
"ruleKey" : "system:parent-or-child-blocking-condition"
"parameters" : {
"blocker" : "CHILD",
"statusIds" : "1,2,3"
}
}
Parameters:
blocker currently only supports CHILD.
statusIds a comma-separated list of status IDs.
Separation of duties#
A condition preventing the user from performing, if the user has already performed a transition on the issue.
{
"ruleKey": "system:separation-of-duties",
"parameters": {
"fromStatusId": "10161",
"toStatusId": "10160"
}
}
Parameters:
fromStatusId represents the status ID from which the issue is transitioning. It ensures that the user performing the current transition has not performed any actions when the issue was in the specified status.
toStatusId represents the status ID to which the issue is transitioning. It ensures that the user performing the current transition is not the same user who has previously transitioned the issue.
Restrict transitions#
A condition preventing all users from transitioning the issue can also optionally include APIs as well.
{
"ruleKey": "system:restrict-from-all-users",
"parameters": {
"restrictMode": "users"
}
}
Parameters:
restrictMode restricts the issue transition including/excluding APIs. Allowed values: "users", "usersAndAPI".
Jira Service Management block until approved#
Block an issue transition until approval. Note: This is only supported in team-managed projects.
{
"ruleKey": "system:jsd-approvals-block-until-approved",
"parameters": {
"approvalConfigurationJson": "{"statusExternalUuid...}"
}
}
Parameters:
approvalConfigurationJson a stringified JSON holding the Jira Service Management approval configuration.
Jira Service Management block until rejected#
Block an issue transition until rejected. Note: This is only supported in team-managed projects.
{
"ruleKey": "system:jsd-approvals-block-until-rejected",
"parameters": {
"approvalConfigurationJson": "{"statusExternalUuid...}"
}
}
Parameters:
approvalConfigurationJson a stringified JSON holding the Jira Service Management approval configuration.
Block in progress approval#
Condition to block issue transition if there is pending approval. Note: This is only supported in company-managed projects.
{
"ruleKey": "system:block-in-progress-approval",
"parameters": {}
}

Post functions#

Post functions carry out any additional processing required after a workflow transition is executed.
Change assignee#
A post function rule that changes the assignee of an issue after a transition.
{
"ruleKey": "system:change-assignee",
"parameters": {
"type": "to-selected-user",
"accountId": "example-account-id"
}
}
Parameters:
type the parameter used to determine the new assignee. Allowed values: to-selected-user, to-unassigned, to-current-user, to-current-user, to-default-user, to-default-user
accountId the account ID of the user to assign the issue to. This parameter is required only when the type is "to-selected-user".
Copy field value#
A post function that automates the process of copying values between fields during a specific transition, ensuring data consistency and reducing manual effort.
{
"ruleKey": "system:copy-value-from-other-field",
"parameters": {
"sourceFieldKey": "description",
"targetFieldKey": "components",
"issueSource": "SAME"
}
}
Parameters:
sourceFieldKey the field key to copy from. For a custom field, it would look like customfield_123
targetFieldKey the field key to copy to. For a custom field, it would look like customfield_123
issueSource SAME or PARENT. Defaults to SAME if no value is provided.
Update field#
A post function that updates or appends a specific field with the given value.
{
"ruleKey": "system:update-field",
"parameters": {
"field": "customfield_10056",
"value": "asdf",
"mode": "append"
}
}
Parameters:
field the ID of the field to update. For a custom field, it would look like customfield_123
value the value to update the field with.
mode append or replace. Determines if a value will be appended to the current value, or if the current value will be replaced.
Trigger webhook#
A post function that automatically triggers a predefined webhook when a transition occurs in the workflow.
{
"ruleKey": "system:trigger-webhook",
"parameters": {
"webhookId": "1"
}
}
Parameters:
webhookId the ID of the webhook.

Screen#

Remind people to update fields#
A screen rule that prompts users to update a specific field when they interact with an issue screen during a transition. This rule is useful for ensuring that users provide or modify necessary information before moving an issue to the next step in the workflow.
{
"ruleKey": "system:remind-people-to-update-fields",
"params": {
"remindingFieldIds": "assignee,customfield_10025",
"remindingMessage": "The message",
"remindingAlwaysAsk": "true"
}
}
Parameters:
remindingFieldIds a comma-separated list of field IDs. Note: fieldId is used interchangeably with the idea of fieldKey here, they refer to the same field.
remindingMessage the message to display when prompting the users to update the fields.
remindingAlwaysAsk always remind to update fields. Allowed values: true, false.
Shared transition screen#
A common screen that is shared between transitions in a workflow.
{
"ruleKey": "system:transition-screen",
"params": {
"screenId": "3"
}
}
Parameters:
screenId the ID of the screen.

Connect & Forge#

Connect rules#
Validator/Condition/Post function for Connect app.
{
"ruleKey": "connect:expression-validator",
"parameters": {
"appKey": "com.atlassian.app",
"config": "",
"id": "90ce590f-e90c-4cd3-8281-165ce41f2ac3",
"disabled": "false",
"tag": ""
}
}
Parameters:
ruleKey Validator: connect:expression-validator, Condition: connect:expression-condition, and Post function: connect:remote-workflow-function
appKey the reference to the Connect app
config a JSON payload string describing the configuration
id the ID of the rule
disabled determine if the Connect app is disabled. Allowed values: true, false.
tag additional tags for the Connect app
Forge rules#
Validator/Condition/Post function for Forge app.
{
"ruleKey": "forge:expression-validator",
"parameters": {
"key": "ari☁️ecosystem::extension/{appId}/{environmentId}/static/{moduleKey}",
"config": "{"searchString":"workflow validator"}",
"id": "a865ddf6-bb3f-4a7b-9540-c2f8b3f9f6c2"
}
}
Parameters:
ruleKey Validator: forge:expression-validator, Condition: forge:expression-condition, and Post function: forge:workflow-post-function
key the identifier for the Forge app
config the persistent stringified JSON configuration for the Forge rule
id the ID of the Forge rule
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'http://jira.local:8080/jira/rest//rest/api/3/workflows/capabilities'
Response Response Example
200 - Example 1
{
  "connectRules": [
    {
      "addonKey": "string",
      "createUrl": "string",
      "description": "string",
      "editUrl": "string",
      "moduleKey": "string",
      "name": "string",
      "ruleKey": "string",
      "ruleType": "CONDITION",
      "viewUrl": "string"
    }
  ],
  "editorScope": "PROJECT",
  "forgeRules": [
    {
      "description": "string",
      "id": "string",
      "name": "string",
      "ruleKey": "string",
      "ruleType": "CONDITION"
    }
  ],
  "projectTypes": "software",
  "systemRules": [
    {
      "description": "string",
      "incompatibleRuleKeys": [
        "string"
      ],
      "isAvailableForInitialTransition": true,
      "isVisible": true,
      "name": "string",
      "ruleKey": "string",
      "ruleType": "CONDITION"
    }
  ],
  "triggerRules": [
    {
      "availableTypes": [
        {
          "description": "string",
          "name": "string",
          "type": "string"
        }
      ],
      "ruleKey": "string"
    }
  ]
}

Request

Query Params
workflowId
string 
optional
projectId
string 
optional
issueTypeId
string 
optional

Responses

🟢200Returned if the request is successful.
application/json
Body
connectRules
array[object (AvailableWorkflowConnectRule) {9}] 
optional
The Connect provided ecosystem rules available.
addonKey
string 
optional
The add-on providing the rule.
createUrl
string 
optional
The URL creation path segment defined in the Connect module.
description
string 
optional
The rule description.
editUrl
string 
optional
The URL edit path segment defined in the Connect module.
moduleKey
string 
optional
The module providing the rule.
name
string 
optional
The rule name.
ruleKey
string 
optional
The rule key.
ruleType
enum<string> 
optional
The rule type.
Allowed values:
CONDITIONVALIDATORACTIONSCREEN
viewUrl
string 
optional
The URL view path segment defined in the Connect module.
editorScope
enum<string> 
optional
The scope of the workflow capabilities. GLOBAL for company-managed projects and PROJECT for team-managed projects.
Allowed values:
PROJECTGLOBAL
forgeRules
array[object (AvailableWorkflowForgeRule) {5}] 
optional
The Forge provided ecosystem rules available.
description
string 
optional
The rule description.
id
string 
optional
The unique ARI of the forge rule type.
name
string 
optional
The rule name.
ruleKey
string 
optional
The rule key.
ruleType
enum<string> 
optional
The rule type.
Allowed values:
CONDITIONVALIDATORACTIONSCREEN
projectTypes
array[string]
optional
The types of projects that this capability set is available for.
Allowed values:
softwareservice_deskproduct_discoverybusinessunknown
systemRules
array[object (AvailableWorkflowSystemRule) {7}] 
optional
The Atlassian provided system rules available.
description
string 
required
The rule description.
incompatibleRuleKeys
array[string]
required
List of rules that conflict with this one.
isAvailableForInitialTransition
boolean 
required
Whether the rule can be added added to an initial transition.
isVisible
boolean 
required
Whether the rule is visible.
name
string 
required
The rule name.
ruleKey
string 
required
The rule key.
ruleType
enum<string> 
required
The rule type.
Allowed values:
CONDITIONVALIDATORACTIONSCREEN
triggerRules
array[object (AvailableWorkflowTriggers) {2}] 
optional
The trigger rules available.
availableTypes
array[object (AvailableWorkflowTriggerTypes) {3}] 
required
The list of available trigger types.
ruleKey
string 
required
The rule key of the rule.
🟠400Returned if the request is not valid.
🟠401Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
Modified at 2023-07-13 03:27:27
Previous
Bulk get workflows
Next
Bulk create workflows
Built with