Изменить триггер с помощью запроса к API
Запрос позволяет изменить триггер.
PATCH
https://api.tracker.yandex.net/v3/queues/<id_очереди>/triggers/<id_триггера>?version=<текущая_версия_триггера>
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы изменить триггер, используйте HTTP-запрос с методом PATCH
. В теле запроса укажите параметры в формате JSON.
PATCH /v3/queues/<id_очереди>/triggers/<id_триггера>?version=<текущая_версия_триггера>
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
{
"name": "<имя_триггера>",
"actions": [<параметры_действия_триггера>],
"conditions": [<параметры_условия_триггера>]
}
Заголовки
-
Host
: адрес узла, предоставляющего API. -
Authorization
: токен для авторизации в одном из форматов:-
OAuth <OAuth-токен>
при авторизации по протоколу OAuth 2.0. Читать подробнее -
Bearer <IAM-токен>
при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Cloud Organization. Читать подробнее
-
-
X-Org-ID
илиX-Cloud-Org-ID
: идентификатор организации.-
Используйте заголовок
X-Org-ID
, если к Трекеру привязана организация Яндекс 360 для бизнеса. -
Используйте заголовок
X-Cloud-Org-ID
, если к Трекеру привязана организация Yandex Cloud Organization.
Чтобы узнать идентификатор организации, перейдите на страницу Администрирование → Организации и скопируйте значение поля идентификатор.
-
Ресурс
Параметр | Описание | Тип данных |
---|---|---|
<id_очереди> | Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. | Строка или число |
<id_триггера> | Идентификатор триггера. | Число |
<текущая_версия_триггера> | Текущая версия триггера. | Число |
Текущую версию триггера можно найти с помощью запроса для получения параметров триггера.
Параметры тела запроса
Дополнительные параметры
Параметр | Описание | Тип данных |
---|---|---|
name | Название триггера. | Строка |
actions | Массив с объектами действий триггера. Подробнее в разделе Объекты действий триггера. | Массив объектов |
conditions | Массив с условиями срабатывания триггера Подробнее в разделе Условия срабатывания триггера. | Массив объектов |
active | Статус триггера. Допустимые значения:
|
Логический |
before | Идентификатор триггера, перед которым нужно поместить данный триггер. | Число |
Условия срабатывания триггера
В зависимости от того, должны ли сработать все или хотя бы одно из условий, занчение поля conditions можно указать в одном их двух форматов: либо (), либо массив с объектами, включающими как массив элементарных объектов условий срабатывания триггера, так и тип логического объединения условий:
-
Массив элементарных объектов условий срабатывания триггера. Подробнее в разделе Объекты условий срабатывания триггера.
В этом случае триггер сработает при выполнении всех условий, как при объединении условий с типом «логическое И».
{ "conditions": [ {<уcловиe_триггера_1>}, {<уcловиe_триггера_2>} ] }
-
Объект с указанием типа объединения условий срабатывания триггера:
Параметр Описание Тип данных type Тип логического объединения условий. Допустимые значения: Or
— логическое ИЛИ (Любое
);And
— логическое И (Все
).
Строка conditions Массив с элементарными объектами условия срабатывания триггера. Массив объектов { "conditions": { "type": "Or", "conditions": [ {<уcловиe_триггера_1>}, {<уcловиe_триггера_2>} ] } }
Примеры
- Триггер, срабатывающий при выполнении хотя бы одного из условий.
- Изменить действие триггера.
- Триггер, срабатывающий при выполнении группы условий.
- Отключить триггер.
- Переместить триггер в списке и активировать.
Пример 1: Изменить условия срабатывания и действие триггера. Триггер должен срабатывать при выполнении хотя бы одного из заданных условий.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 1.
- Меняется условие срабатывания триггера: текст комментария совпадает с фразой «Need info» или «Нужна информация».
- Действие триггера: переход задачи в статус «Требуется информация».
PATCH /v3/queues/DESIGN/triggers/16?version=1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "actions": [ { "type": "Transition", "status": { "key": "needInfo" } } ], "conditions": [ { "type": "Or", "conditions": [ { "type": "CommentFullyMatchCondition", "word": "Need info" }, { "type": "CommentFullyMatchCondition", "word": "Нужна информация" } ] } ] }
Пример 2: Изменить действие триггера.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 2.
- Меняется действие триггера: создается чеклист, где указаны названия пунктов, исполнитель и дедлайн.
PATCH /v3/queues/DESIGN/triggers/16?version=2 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "actions": [ { "type": "CreateChecklist", "checklistItems": [ { "text": "Сделать то", "assignee": "username", "deadline": {"date": "2025-05-23"} }, { "text": "Сделать это", "assignee": "username", "deadline": {"date": "2025-05-23"} }, {"text": "Отчитаться за все"} ] } ] }
Пример 3: Изменить условия срабатывания и действие триггера. Триггер должен срабатывать при выполнении одной из групп условий.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 3.
- Меняется условие срабатывания триггера — триггер срабатывает, если выполняется одна из групп условий:
- Текст комментария совпадает с фразой «Need info» и статус задачи равен
В работе
;
- Текст комментария совпадает с фразой «No data» ;
- Меняется действие триггера: переход задачи в статус «Требуется информация».
PATCH /v3/queues/DESIGN/triggers/16?version=3 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "actions": [ { "type": "Transition", "status": { "key": "needInfo" } } ], "conditions": [ { "type": "Or", "conditions": [ { "type": "And", "conditions": [ { "ignoreCase": false, "noMatchBefore": false, "removeMarkup": false, "type": "CommentFullyMatchCondition", "word": "Need info" }, { "type": "FieldEquals", "field": "status", "value": "inProgress" } ] }, { "ignoreCase": false, "noMatchBefore": false, "removeMarkup": false, "type": "CommentFullyMatchCondition", "word": "No data" } ] } ] }
Пример 4: Отключить триггер.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 4.
- Триггер деактивируется.
PATCH /v3/queues/DESIGN/triggers/16?version=4 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "active": false }
Пример 5: Переместить триггер в списке и активировать.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 4.
- Триггер переносится в позицию перед триггером с идентификатором
6
и активируется.
PATCH /v3/queues/DESIGN/triggers/16?version=4 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "before": 6, "active": true }
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK
.
Тело запроса содержит информацию о созданном триггере в формате JSON.
{
"id": 16,
"self": "https://api.tracker.yandex.net/v3/queues/DESIGN/triggers/16",
"queue": {
"self": "https://api.tracker.yandex.net/v3/queues/DESIGN",
"id": "26",
"key": "DESIGN",
"display": "Design"
},
"name": "TriggerName",
"order": "0.0002",
"actions": [
{
"type": "Transition",
"id": 2,
"status": {
"self": "https://api.tracker.yandex.net/v3/statuses/2",
"id": "2",
"key": "needInfo",
"display": "Требуется информация"
}
}
],
"conditions": [
{
"type": "Or",
"conditions": [
{
"type": "CommentFullyMatchCondition",
"word": "Need info",
"ignoreCase": true,
"removeMarkup": true,
"noMatchBefore": false
},
{
"type": "CommentFullyMatchCondition",
"word": "Требуется информация",
"ignoreCase": true,
"removeMarkup": true,
"noMatchBefore": false
}
]
}
],
"version": 2,
"active": true
}
Параметры ответа
Параметр | Описание | Тип данных |
---|---|---|
id | Идентификатор триггера. | Строка |
self | Ссылка на триггер. | Строка |
queue | Очередь, в которой нужно создать триггер. | Объект |
name | Название триггера. | Строка |
order | Вес триггера. Параметр влияет на порядок отображения триггера в интерфейсе. | Строка |
actions | Массив с действиями триггера. | Массив объектов |
conditions | Массив с условиями срабатывания триггера. | Массив объектов |
version | Версия триггера. Каждое изменение триггера увеличивает номер версии. | Число |
active | Статус триггера. | Логический |
Поля объекта queue
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию об очереди. | Строка |
id | Идентификатор очереди. | Строка |
key | Ключ очереди. | Строка |
display | Отображаемое название очереди. | Строка |
Если запрос не был успешно обработан, ответное сообщение содержит информацию о возникших ошибках:
- 400
- Один или несколько параметров запроса имеют недопустимое значение.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 404
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
- 409
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 412
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 422
- Ошибка валидации JSON, запрос отклонен.
- 500
- Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
- 503
- Сервис API временно недоступен.