Trigger condition objects

To set trigger conditions, specify one or more objects.

Events

Parameter Description Acceptable values Data type
type Condition type Possible values:
  • Event.update: Issue changed.
  • CalculationFormulaWatch: Formula fields changed.
  • Event.comment-create: Comment created.
  • Event.create: Issue created.
String

Example: The trigger fires if the issue is changed.

{"type": "Event.update"}

Checklist

Parameter Description Acceptable values Data type
type Condition type ChecklistDone String

Example: The trigger fires if all items on the checklist are completed.

{"type": "ChecklistDone"}

Comment Text

Parameter Description Acceptable values Data type
type Condition type Possible values:
  • CommentNoneMatchCondition: Doesn't contain any fragments.
  • CommentStringNotMatchCondition: Doesn't contain the fragment.
  • CommentFullyMatchCondition: Matches.
  • CommentAnyMatchCondition: Contains any of the fragments.
  • CommentStringMatchCondition: Contains the fragment.
String
word Text of the comment Strings to search String or Array of strings
ignoreCase Ignore case true or false Boolean
removeMarkup Ignore markup true or false Boolean
noMatchBefore Parameter changed true or false Boolean

Type of data depending on the condition type

Condition type Data type
CommentNoneMatchCondition Array of strings
CommentStringNotMatchCondition String
CommentFullyMatchCondition String
CommentAnyMatchCondition Array of strings
CommentStringMatchCondition String

Example: The trigger fires if the comment doesn't contain the text Version 0.1 or Version 0.2, regardless of case or formatting.

{
	"type": "CommentNoneMatchCondition",
	"words": ["Version 0.1", "Version 0.2"],
	"ignoreCase": true,
	"removeMarkup": true,
	"noMatchBefore": false
}

Comment author

Parameter Description Acceptable values Data type
type Condition type Possible values:
  • CommentAuthorNot: Field value isn't equal to.
  • CommentAuthor: Field value is equal to.
String
user Comment author User ID String

Example: The trigger fires if the comment is written by anyone other than the user with login @user1.

{ "type": "CommentAuthorNot", "user": "user1" }

Comment type

Parameter Description Acceptable values Data type
type Condition type Possible values:
  • CommentMessageInternal: Comment in Tracker
  • CommentMessageExternal: Email
String
user Comment author User ID String

Examples

  1. The trigger fires if the comment type is Comment in Tracker.
    { "type": "CommentMessageInternal" }
    
  2. The trigger fires if the comment type is Email.
    { "type": "CommentMessageExternal" }
    

Action with link

Parameter Description Acceptable values Data type
type Condition type Possible values:
  • UpdatedLinkCondition: Link updated.
  • CreatedLinkCondition: Link created.
  • RemovedLinkCondition: Link deleted.
String
relationship Type of links between issues Link list Array of strings
Link types
  • relates: Simple link.
  • is dependent by: The current issue blocks the linked one.
  • depends on: The current issue depends on the linked one.
  • is subtask for: The current issue is a sub-issue of the linked one.
  • is parent task for: The current issue is a parent issue of the linked one.
  • duplicates: The current issue duplicates the linked one.
  • is duplicated by: The linked issue duplicates the current one.
  • is epic of: The current issue is an epic of the linked one. You can only set this type of link for Epic-type issues.
  • has epic: The linked issue is an epic of the current one. You can only set this type of link for Epic-type issues.

Example: The trigger fires if the issue is unlinked from its parent issue and Epic-type issue.

{ "type": "RemovedLinkCondition", "relationship": ["is parent task for", "is epic of"] }

Issue fields

In general, a trigger condition linked to an issue field can be described using an object with two required parameters:

Parameter Description Acceptable values Data type
type Condition type <condition_ID> String
field Issue field <field_ID> String

An object may also contain additional parameters.

Possible values of condition types depend on specific issue fields. Additional object parameters depend on a combination of required parameters.

Field value

For most fields, the following three condition types associated with a field value are available:

Condition type Description Additional parameters Data type
FieldChangedCondition Field value changed Without parameters
FieldEquals is equal to value String
FieldBecameEqual became equal to value String
List of fields that conditions apply to
Field ID
Queue queue
Type type
Priority priority
Key key
Issue summary
Description * description
Status status
Resolution resolution
Status Changed statusStartTime
Created createdAt
Updated updatedAt
Resolved resolvedAt
Last Comment lastCommentUpdatedAt
Deadline deadline
Start Date start
End Date end
Author createdBy
Assignee assignee
Followers followers
Access access
Modifier updatedBy
Resolved by resolvedBy
Mailing lists followingMaillists
Project project
Tags tags
Components components
Affected Version affectedVersions
Fix Version fixVersions
Parent issue parent
Old queue previousQueue
Voted By votedBy
Votes votes
Number of comments without message commentWithoutExternalMessageCount
Number of comments with message commentWithExternalMessageCount
Boards boards
Pending reply from pendingReplyFrom
Previous queue lastQueue
Total participation percentage participantPercentsTotal
Possible spam possibleSpam
Status type statusType
QA Engineer qaEngineer
Original Estimate originalEstimation
Estimate estimation
Time Spent spent
Epic epic
Story Points storyPoints
Sprint sprint
Email from * emailFrom
Email To emailTo
Email CC emailCc
Created by email to * emailCreatedBy

* For the fields marked with an asterisk, the Is equal to the string (FieldEqualsString) condition type is used instead of is equal to (FieldEquals).

Examples:

  1. The trigger fires if the value of the Priority field changes.
    { "type": "FieldChangedCondition", "field": "priority" }
    
  2. The trigger fires if the value of the Priority field is Blocker.
    { "type": "FieldEquals", "field": "priority", "value": "blocker" }
    
  3. The trigger fires if the value of the Priority field changes to Blocker.
    { "type": "FieldBecameEqual", "field": "priority", "value": "blocker" }
    

Field state

Conditions related to whether a field contains a value:

Condition type Description Additional parameters
FieldIsNotEmpty Field value is not empty Without parameters
FieldIsEmpty Field value is empty Without parameters
FieldBecameEmpty Field value deleted Without parameters
FieldBecameNotEmpty Field value set Without parameters
List of fields that conditions apply to
Field ID
Description description
Resolution resolution
Status Changed statusStartTime
Resolved resolvedAt
Last Comment lastCommentUpdatedAt
Deadline deadline
Start Date start
End Date end
Assignee assignee
Followers followers
Access access
Resolved by resolvedBy
Mailing lists followingMaillists
Project project
Tags tags
Components components
Affected Version affectedVersions
Fix Version fixVersions
Parent issue parent
Old queue previousQueue
Voted By votedBy
Boards boards
Pending reply from pendingReplyFrom
Previous queue lastQueue
Total participation percentage participantPercentsTotal
Possible spam possibleSpam
Status type statusType
QA Engineer qaEngineer
Original Estimate originalEstimation
Estimate estimation
Time Spent spent
Epic epic
Story Points storyPoints
Sprint sprint
Email From emailFrom
Email To emailTo
Email CC emailCc
Created by email to emailCreatedBy

Examples:

  1. The trigger fires if the issue already has an assignee.
    { "type": "FieldIsNotEmpty", "field": "assignee" }
    
  2. The trigger fires if the issue doesn't have an assignee.
    { "type": "FieldIsEmpty", "field": "assignee" }
    
  3. The trigger fires if the Assignee field is cleared.
    { "type": "FieldBecameEmpty", "field": "assignee" }
    
  4. The trigger fires if the Assignee field is filled in.
    { "type": "FieldBecameNotEmpty", "field": "assignee" }
    

Date

Conditions related to dates:

Condition type Description Additional parameters Data type
DateEqualCondition The date matches value String in date format
DateGreaterCondition Later than the date value String in date format
DateGreaterOrEqualCondition Later than or equal to value String in date format
DateLessCondition Earlier than value String in date format
DateLessOrEqualCondition Earlier than or equal to value String in date format
List of fields that conditions apply to
Field ID
Status Changed statusStartTime
Created createdAt
Updated updatedAt
Resolved resolvedAt
Last Comment lastCommentUpdatedAt
Deadline deadline
Start Date start
End Date end

Examples:

  1. The trigger fires if the Created field is set to a date later than October 28, 2023.
    { "type": "DateGreaterCondition", "field": "createdAt", "value": "2023-10-28T09:25:00"}
    
  2. The trigger fires if the End date field is set to October 28, 2023, or earlier.
    { "type": "DateLessOrEqualCondition", "field": "end", "value": "2023-10-28T09:25:00"}
    

User groups

Conditions related to user groups:

Condition type Description Additional parameters Data type
UserInGroups The user is a member of one of the groups. value String or Array of strings
UserNotInGroups The user isn't a member of any of the groups. value String or Array of strings
List of fields that conditions apply to
Field ID
Author createdBy
Assignee assignee
Modifier updatedBy
Resolved by resolvedBy
QA Engineer qaEngineer

Examples:

  1. The trigger fires if the user who created the issue belongs to the group with ID 1.
    {"type": "UserInGroups", "field": "createdBy","value": "1"}
    
  2. The trigger fires if the user who created the issue doesn't belong to the group with ID 1.
    {"type": "UserNotInGroups", "field": "createdBy","value": ["1", "4"]}
    

Number of elements

Conditions related to element count:

Condition type Description Additional parameters Data type
Container.SizeGreater The number of elements is greater than value Number
Container.SizeGreaterOrEquals The number of elements is greater than or equal to value Number
Container.SizeLess The number of elements is less than value Number
Container.SizeLessOrEquals The number of elements is less than or equal to value Number
Container.SizeNotEquals The number of elements is not equal to value Number
Container.SizeEquals The number of elements is equal to value Number
ContainerContainsNone Doesn't contain any elements
  • value
  • noMatchBefore
  • Array
  • Boolean
ContainerContainsAll Contains all elements
  • value
  • noMatchBefore
  • Array
  • Boolean
ContainerContainsAny Contains any of the elements
  • value
  • noMatchBefore
  • Array
  • Boolean
List of fields that conditions apply to
Field ID
Followers followers
Access access
Tags tags
Components components
Affected Version affectedVersions
Fix Version fixVersions
Voted By votedBy
Boards boards
Pending reply from pendingReplyFrom
Sprint sprint
Email CC emailCc
Email To emailTo
Mailing lists followingMaillists

Examples:

  1. The trigger fires if the issue has five or more votes.
    { "type": "Container.SizeGreaterOrEquals", "field": "votedBy", "value": 5 }
    
  2. The trigger fires if the issue has exactly five components.
    { "type": "Container.SizeEquals", "field": "components", "value": 5 }
    
  3. The trigger fires if the Followers field ever contained the value user11 or user12.
    { "type": "ContainerContainsAll", "field": "followers", "value": ["user11", "user22"], "noMatchBefore": true }
    

Numeric values

Conditions related to numeric values:

Condition type Description Additional parameters Data type
GreaterCondition is greater than value Number
GreaterOrEqualCondition is greater than or equal to value Number
LessCondition is less than value Number
LessOrEqualCondition is less than or equal to value Number
BecameGreaterCondition became greater than value Number
BecameGreaterOrEqualCondition became greater than or equal to value Number
BecameLessCondition became less than value Number
BecameLessOrEqualCondition became less than or equal to value Number
List of fields that conditions apply to
Field ID
Votes votes
Number of comments without message commentWithoutExternalMessageCount
Number of comments with message commentWithExternalMessageCount
Total participation percentage participantPercentsTotal
Possible spam possibleSpam
Original Estimate originalEstimation
Estimate estimation
Time Spent spent
Story Points storyPoints

Examples:

  1. The trigger fires if the value in the Story Points field is less than or equal to five.
    { "type": "LessOrEqualCondition", "field": "storyPoints", "value": 5 }
    
  2. The trigger fires if the value of the Votes field is greater than five.
    { "type": "BecameGreaterCondition", "field": "votes", "value": 6 }
    

String values

Conditions related to string values:

Condition type Description Additional parameters Data type
ContainsNoneOfStrings Doesn't contain any fragments
  • value
  • ignoreCase
  • Array
  • Boolean
FieldEqualsString Is equal to the string
  • value
  • ignoreCase
  • String
  • Boolean
ContainsAnyOfStrings Contains any of the fragments
  • value
  • ignoreCase
  • Array
  • Boolean
List of fields that conditions apply to
Field ID
Key key
Issue summary
Description description
Email From emailFrom
Created by email to emailCreatedBy

Examples:

  1. The trigger fires if the issue description doesn't contain the values Test task and 12345, regardless of case or formatting.
    { "type": "ContainsNoneOfStrings", "field": "description", "value": ["Test task", "12345"], "ignoreCase": true }
    
  2. The trigger fires if the issue name is New-Task.
    { "type": "FieldEqualsString", "field": "summary", "value": "New-Task", "ignoreCase": false }