Изменить триггер с помощью запроса к API
Запрос позволяет изменить триггер.
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы изменить триггер, используйте HTTP-запрос с методом PATCH
. Параметры запроса передаются в его теле в формате JSON.
PATCH /v2/queues/<ключ_или_идентификатор_очереди>/triggers/<идентификатор_триггера>?version=<текущая_версия_триггера>
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
{
"name": "<имя_триггера>",
"actions": [<параметры_действия_триггера>]
}
Заголовки
-
Host
Адрес узла, предоставляющего API:
api.tracker.yandex.net
-
Authorization
OAuth-токен в формате
OAuth <OAuth-токен>
, например:OAuth 0c4181a7c2cf4521964a72ff********
-
X-Org-ID или X-Cloud-Org-ID
Идентификатор организации. Узнать его можно на странице организаций Tracker
.- Если к Tracker привязана только организация Яндекс 360 для бизнеса, используется заголовок
X-Org-ID
. - Если к Tracker привязана только организация Yandex Cloud Organization, используется заголовок
X-Cloud-Org-ID
. - Если к Tracker одновременно привязаны организации Яндекс 360 для бизнеса и Yandex Cloud Organization, используется заголовок
X-Org-ID
и идентификатор организации Яндекс 360 для бизнеса.
- Если к Tracker привязана только организация Яндекс 360 для бизнеса, используется заголовок
Ресурс
Параметр | Описание | Тип данных |
---|---|---|
<ключ_или_идентификатор_очереди> | Идентификатор или ключ очереди. Ключ очереди чувствителен к регистру символов. | Строка или число |
<идентификатор_триггера> | Идентификатор триггера. | Число |
<текущая_версия_триггера> | Текущая версия триггера. | Число |
Примечание
Текущую версию триггера можно найти в ответе на GET-запрос к настройкам триггера.
Параметры тела запроса
Дополнительные параметры
Параметр | Описание | Тип данных |
---|---|---|
name | Название триггера. | Строка |
actions | Массив с объектами действий триггера. | Массив объектов |
conditions | Массив с условиями срабатывания триггера. | Массив объектов |
active | Статус триггера. Допустимые значения:
|
Логический |
before | Идентификатор триггера, перед которым нужно поместить данный триггер. | Число |
Условия срабатывания триггера
В зависимости от того, должны ли сработать все или хотя бы одно из условий, в поле conditions можно указать либо массив элементарных объектов условий срабатывания триггера (в этом случае триггер сработает при выполнении всех условий), либо массив с объектами, включающими как массив элементарных объектов условий срабатывания триггера, так и тип логического объединения условий:
-
Элементарный объект условия срабатывания триггера;
-
Объект с указанием типа объединения условий срабатывания триггера:
Параметр Описание Тип данных type Тип логического объединения условий. Допустимые значения: Or
— логическое ИЛИ (Любое
);And
— логическое И (Все
).
Строка conditions Массив с элементарными объектами условия срабатывания триггера. Массив объектов
Примечание
Условия срабатывания триггера (элементарные объекты и объекты с указанием типа объединения) могут быть сгруппированы с помощью объекта с указанием типа объединения.
По умолчанию используется тип объединения «логическое И» ("type": "And"
). Этот тип указывать не нужно.
При объединении с типом «логическое ИЛИ» ("type": "Or"
) необходимо указать тип объединения.
Примеры:
- Изменить триггер, срабатывающий при выполнении хотя бы одного из условий.
- Изменить триггер, срабатывающий при выполнении всех условий.
- Изменить триггер, срабатывающий при выполнении группы условий.
- Отключить триггер.
- Переместить триггер в списке и активировать.
Пример 1: Изменить условия срабатывания триггера. Триггер должен срабатывать при выполнении хотя бы одного из заданных условий.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 1.
- Меняется условие срабатывания триггера: текст комментария совпадает с фразой «Need info» или «Нужна информация».
- Действие триггера: переход задачи в статус «Требуется информация».
PATCH /v2/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.
- Меняется условие срабатывания триггера: текст комментария совпадает с фразой «Need info» и статус задачи равен
В работе
.
PATCH /v2/queues/DESIGN/triggers/16?version=2 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "actions": [ { "type": "Transition", "status": { "key": "needInfo" } } ], }
Пример 3: Изменить условия срабатывания и действие триггера. Триггер должен срабатывать при выполнении одной из групп условий.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 2.
- Меняется условие срабатывания триггера — триггер срабатывает, если выполняется одна из групп условий:
- Текст комментария совпадает с фразой «Need info» и статус задачи равен
В работе
;
- Текст комментария совпадает с фразой «No data» ;
- Меняется действие триггера: переход задачи в статус «Требуется информация».
PATCH /v2/queues/DESIGN/triggers/16?version=2 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "actions": [ { "type": "Transition", "status": { "key": "needInfo" } } ], "conditions": [ { "conditions": [ { "conditions": [ { "ignoreCase": false, "noMatchBefore": false, "removeMarkup": false, "type": "CommentFullyMatchCondition", "word": "Need info" }, { "type": "FieldEquals", "field":"status", "value":"inProgress" } ], "type": "And" }, { "ignoreCase": false, "noMatchBefore": false, "removeMarkup": false, "type": "CommentFullyMatchCondition", "word": "No data" } ], "type": "Or" } ] }
Пример 4: Отключить триггер.
- Используется HTTP-метод
PATCH
.- Изменяется триггер для очереди DESIGN.
- ID триггера — 16, текущая версия — 3.
- Триггер деактивируется.
PATCH /v2/queues/DESIGN/triggers/16?version=3 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 /v2/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/v2/queues/DESIGN/triggers/16",
"queue": {
"self": "https://api.tracker.yandex.net/v2/queues/DESIGN",
"id": "26",
"key": "DESIGN",
"display": "Дизайн"
},
"name": "TriggerName",
"order": "0.0002",
"actions": [
{
"type": "Transition",
"id": 2,
"status": {
"self": "https://api.tracker.yandex.net/v2/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
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Tracker — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 404
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
- 409
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 412
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 422
- Ошибка валидации JSON, запрос отклонен.
- 500
- Внутренняя ошибка сервиса. Попробуйте повторно отправить запрос через некоторое время.
- 503
- Сервис API временно недоступен.