Объекты условий срабатывания триггера
Чтобы задать условия срабатывания триггера, укажите один или несколько объектов.
События
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | Одно из значений:
|
Строка |
Пример: Триггер сработает, если задача изменилась.
{"type": "Event.update"}
Чеклист
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | ChecklistDone |
Строка |
Пример: Триггер сработает, если все пункты чеклиста были выполнены.
{"type": "ChecklistDone"}
Текст комментария
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | Одно из значений:
|
Строка |
word | Текст комментария | Строки для поиска | Строка или Массив строк |
ignoreCase | Игнорировать регистр | true или false |
Логический |
removeMarkup | Игнорировать разметку | true или false |
Логический |
noMatchBefore | Параметр изменился | true или false |
Логический |
Тип данных в зависимости от типа условия
Тип условия | Тип данных |
---|---|
CommentNoneMatchCondition |
Массив строк |
CommentStringNotMatchCondition |
Строка |
CommentFullyMatchCondition |
Строка |
CommentAnyMatchCondition |
Массив строк |
CommentStringMatchCondition |
Строка |
Пример: Триггер сработает, если комментарий не содержит текстов
Version 0.1
илиVersion 0.2
в любых регистре и разметке.
{ "type": "CommentNoneMatchCondition", "words": ["Version 0.1", "Version 0.2"], "ignoreCase": true, "removeMarkup": true, "noMatchBefore": false }
Автор комментария
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | Одно из значений:
|
Строка |
user | Автор комментария | Идентификатор пользователя | Строка |
Пример: Триггер сработает, если автор комментария — кто-то кроме пользователя с логином
@user1
.
{ "type": "CommentAuthorNot", "user": "user1" }
Тип комментария
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | Одно из значений:
|
Строка |
user | Автор комментария | Идентификатор пользователя | Строка |
Примеры
- Триггер сработает, если тип комментария —
Комментарий в Трекере
.
{ "type": "CommentMessageInternal" }
- Триггер сработает, если тип комментария —
Письмо на почту
.
{ "type": "CommentMessageExternal" }
Действие со связью
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | Одно из значений:
|
Строка |
relationship | Тип связи между задачами | Список связей | Массив строк |
Типы связей
relates
— простая связь.is dependent by
— текущая задача является блокером.depends on
— текущая задача зависит от связываемой.is subtask for
— текущая задача является подзадачей связываемой.is parent task for
— текущая задача является родительской для связываемой задачи.duplicates
— текущая задача дублирует связываемую.is duplicated by
— связываемая задача дублирует текущую.is epic of
— текущая задача является эпиком связываемой. Связь такого типа можно установить только для задач типа "Эпик".has epic
— связываемая задача является эпиком текущей. Связь такого типа можно установить только для задач типа "Эпик".
Пример: Триггер сработает, если связи с родительской задачей и эпиком удалены.
{ "type": "RemovedLinkCondition", "relationship": ["is parent task for", "is epic of"] }
Поля задачи
В общем случае условие срабатывания триггера, связанное с полем задачи, может быть описано объектом с двумя обязательными параметрами:
Параметр | Описание | Допустимые значения | Тип данных |
---|---|---|---|
type | Тип условия | <идентификатор_условия> | Строка |
field | Поле задачи | <идентификатор_поля> | Строка |
Объект может также содержать дополнительные параметры.
Доступные значения типа условия зависят от конкретного поля задачи. Дополнительные параметры объекта зависят от комбинации обязательных параметров.
Значение поля
Для большинства полей доступны следующие три типа условий, связанных со значением поля:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
FieldChangedCondition |
Значение поля изменилось | Без параметров | |
FieldEquals |
равно | value |
Строка |
FieldBecameEqual |
стало равно | value |
Строка |
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Очередь | queue |
Тип | type |
Приоритет | priority |
Ключ | key |
Задача | summary |
Описание * | description |
Статус | status |
Резолюция | resolution |
Статус изменен | statusStartTime |
Создано | createdAt |
Обновлено | updatedAt |
Разрешен | resolvedAt |
Последний комментарий | lastCommentUpdatedAt |
Дедлайн | deadline |
Дата начала | start |
Дата завершения | end |
Автор | createdBy |
Исполнитель | assignee |
Наблюдатели | followers |
Доступ | access |
Изменил | updatedBy |
Решивший | resolvedBy |
Рассылки | followingMaillists |
Проект | project |
Теги | tags |
Компоненты | components |
Найдено в версиях | affectedVersions |
Исправить в версиях | fixVersions |
Родительский тикет | parent |
Старая очередь | previousQueue |
Проголосовали | votedBy |
Проголосовало | votes |
Комментариев без сообщения | commentWithoutExternalMessageCount |
Комментариев с сообщением | commentWithExternalMessageCount |
Доски | boards |
Нужен ответ пользователя | pendingReplyFrom |
Предыдущая очередь | lastQueue |
Суммарный процент участия | participantPercentsTotal |
Возможно спам | possibleSpam |
Тип статуса | statusType |
QA-инженер | qaEngineer |
Первоначальная оценка | originalEstimation |
Оценка | estimation |
Затрачено времени | spent |
Epic | epic |
Story Points | storyPoints |
Спринт | sprint |
От * | emailFrom |
Кому | emailTo |
Копия | emailCc |
Создано по письму на адрес * | emailCreatedBy |
* Для полей, отмеченных звездочкой, вместо типа условия равно (FieldEquals
) используется Равно строке (FieldEqualsString
).
Примеры:
- Триггер сработает, если значение поля «Приоритет» изменилось.
{ "type": "FieldChangedCondition", "field": "priority" }
- Триггер сработает, если значение поля «Приоритет» —
Блокер
.
{ "type": "FieldEquals", "field": "priority", "value": "blocker" }
- Триггер сработает, если значение поля «Приоритет» изменилось на
Блокер
.
{ "type": "FieldBecameEqual", "field": "priority", "value": "blocker" }
Состояние поля
Условия, связанные с наличием в поле значения:
Тип условия | Описание | Дополнительные параметры |
---|---|---|
FieldIsNotEmpty |
Значение поля не пусто | Без параметров |
FieldIsEmpty |
Значение поля пусто | Без параметров |
FieldBecameEmpty |
Значение поля удалено | Без параметров |
FieldBecameNotEmpty |
Значение поля установлено | Без параметров |
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Описание | description |
Резолюция | resolution |
Статус изменен | statusStartTime |
Разрешен | resolvedAt |
Последний комментарий | lastCommentUpdatedAt |
Дедлайн | deadline |
Дата начала | start |
Дата завершения | end |
Исполнитель | assignee |
Наблюдатели | followers |
Доступ | access |
Решивший | resolvedBy |
Рассылки | followingMaillists |
Проект | project |
Теги | tags |
Компоненты | components |
Найдено в версиях | affectedVersions |
Исправить в версиях | fixVersions |
Родительский тикет | parent |
Старая очередь | previousQueue |
Проголосовали | votedBy |
Доски | boards |
Нужен ответ пользователя | pendingReplyFrom |
Предыдущая очередь | lastQueue |
Суммарный процент участия | participantPercentsTotal |
Возможно спам | possibleSpam |
Тип статуса | statusType |
QA-инженер | qaEngineer |
Первоначальная оценка | originalEstimation |
Оценка | estimation |
Затрачено времени | spent |
Epic | epic |
Story Points | storyPoints |
Спринт | sprint |
От | emailFrom |
Кому | emailTo |
Копия | emailCc |
Создано по письму на адрес | emailCreatedBy |
Примеры:
- Триггер сработает, если исполнитель уже назначен.
{ "type": "FieldIsNotEmpty", "field": "assignee" }
- Триггер сработает, если исполнитель не назначен.
{ "type": "FieldIsEmpty", "field": "assignee" }
- Триггер сработает, если поле «Исполнитель» стало пустым.
{ "type": "FieldBecameEmpty", "field": "assignee" }
- Триггер сработает, если поле «Исполнитель» стало непустым.
{ "type": "FieldBecameNotEmpty", "field": "assignee" }
Дата
Условия, связанные с датами:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
DateEqualCondition |
Дата совпадает | value |
Строка в формате даты |
DateGreaterCondition |
Позднее | value |
Строка в формате даты |
DateGreaterOrEqualCondition |
Позднее или равно | value |
Строка в формате даты |
DateLessCondition |
Раньше | value |
Строка в формате даты |
DateLessOrEqualCondition |
Раньше или равно | value |
Строка в формате даты |
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Статус изменен | statusStartTime |
Создано | createdAt |
Обновлено | updatedAt |
Разрешен | resolvedAt |
Последний комментарий | lastCommentUpdatedAt |
Дедлайн | deadline |
Дата начала | start |
Дата завершения | end |
Примеры:
- Триггер сработает, если в поле «Создано» указана дата позднее 28 октября 2023.
{ "type": "DateGreaterCondition", "field": "createdAt", "value": "2023-10-28T09:25:00"}
- Триггер сработает, если в поле «Дата завершения» указана дата раньше либо равная 28 октября 2023.
{ "type": "DateLessOrEqualCondition", "field": "end", "value": "2023-10-28T09:25:00"}
Группы пользователей
Условия, связанные с группами пользователей:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
UserInGroups |
Пользователь входит в одну из групп | value |
Строка или Массив строк |
UserNotInGroups |
Пользователь не входит ни в одну из групп | value |
Строка или Массив строк |
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Автор | createdBy |
Исполнитель | assignee |
Изменил | updatedBy |
Решивший | resolvedBy |
QA-инженер | qaEngineer |
Примеры:
- Триггер сработает, если пользователь, создавший задачу, входит в группу c идентификатором
1
.
{"type": "UserInGroups", "field": "createdBy","value": "1"}
- Триггер сработает, если пользователь, создавший задачу, не входит в группу c идентификатором
1
.
{"type": "UserNotInGroups", "field": "createdBy","value": ["1", "4"]}
Количество элементов
Условия, связанные с количеством элементов:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
Container.SizeGreater |
Количество элементов больше | value |
Число |
Container.SizeGreaterOrEquals |
Количество элементов больше или равно | value |
Число |
Container.SizeLess |
Количество элементов меньше | value |
Число |
Container.SizeLessOrEquals |
Количество элементов меньше или равно | value |
Число |
Container.SizeNotEquals |
Количество элементов не равно | value |
Число |
Container.SizeEquals |
Количество элементов равно | value |
Число |
ContainerContainsNone |
Не содержит ни одного элемента |
|
|
ContainerContainsAll |
Содержит все элементы |
|
|
ContainerContainsAny |
Содержит любой из элементов |
|
|
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Наблюдатели | followers |
Доступ | access |
Теги | tags |
Компоненты | components |
Найдено в версиях | affectedVersions |
Исправить в версиях | fixVersions |
Проголосовали | votedBy |
Доски | boards |
Нужен ответ пользователя | pendingReplyFrom |
Спринт | sprint |
Копия | emailCc |
Кому | emailTo |
Рассылки | followingMaillists |
Примеры:
- Триггер сработает, если количество голосов больше либо равно пяти.
{ "type": "Container.SizeGreaterOrEquals", "field": "votedBy", "value": 5 }
- Триггер сработает, если компонентов ровно пять.
{ "type": "Container.SizeEquals", "field": "components", "value": 5 }
- Триггер сработает, если поле «Наблюдатели» когда-либо содержало любое из значений
user11
илиuser12
.
{ "type": "ContainerContainsAll", "field": "followers", "value": ["user11", "user22"], "noMatchBefore": true }
Числовые значения
Условия, связанные с числовыми значениями:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
GreaterCondition |
больше | value |
Число |
GreaterOrEqualCondition |
больше или равно | value |
Число |
LessCondition |
меньше | value |
Число |
LessOrEqualCondition |
меньше или равно | value |
Число |
BecameGreaterCondition |
стало больше | value |
Число |
BecameGreaterOrEqualCondition |
стало больше или равно | value |
Число |
BecameLessCondition |
стало меньше | value |
Число |
BecameLessOrEqualCondition |
стало меньше или равно | value |
Число |
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Проголосовало | votes |
Комментариев без сообщения | commentWithoutExternalMessageCount |
Комментариев с сообщением | commentWithExternalMessageCount |
Суммарный процент участия | participantPercentsTotal |
Возможно спам | possibleSpam |
Первоначальная оценка | originalEstimation |
Оценка | estimation |
Затрачено времени | spent |
Story Points | storyPoints |
Примеры:
- Триггер сработает, если значение поля «Story Points» меньше или равно пяти.
{ "type": "LessOrEqualCondition", "field": "storyPoints", "value": 5 }
- Триггер сработает, если значение поля «Проголосовало» стало больше пяти.
{ "type": "BecameGreaterCondition", "field": "votes", "value": 6 }
Строковые значения
Условия, связанные со строковыми значениями:
Тип условия | Описание | Дополнительные параметры | Тип данных |
---|---|---|---|
ContainsNoneOfStrings |
Не содержит ни одного из фрагментов |
|
|
FieldEqualsString |
Равно строке |
|
|
ContainsAnyOfStrings |
Содержит любой из фрагментов |
|
|
Список полей, для которых применимы условия
Поле | Идентификатор |
---|---|
Ключ | key |
Задача | summary |
Описание | description |
От | emailFrom |
Создано по письму на адрес | emailCreatedBy |
Примеры:
- Триггер сработает, если описание задачи не содержит значений
Test task
и12345
в любых регистре и разметке.
{ "type": "ContainsNoneOfStrings", "field": "description", "value": ["Test task", "12345"], "ignoreCase": true }
- Триггер сработает, если название задачи —
New-Task
.
{ "type": "FieldEqualsString", "field": "summary", "value": "New-Task", "ignoreCase": false }