Создать фильтр
Запрос позволяет создать новый фильтр задач.
POST
https://api.tracker.yandex.net/v3/filters/
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы создать фильтр, используйте HTTP-запрос с методом POST. В теле запроса укажите параметры в формате JSON:
POST /v3/filters/
Host: api.tracker.yandex.net
Authorization: OAuth y0__xAbc******
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
{
"name": "<название_фильтра>",
"filter": {
"status": "open"
}
}
Заголовки
-
Host: адрес узла, предоставляющего API. -
Authorization: токен для авторизации в одном из форматов:-
OAuth <OAuth-токен>при авторизации по протоколу OAuth 2.0. Читать подробнее -
Bearer <IAM-токен>при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Cloud Organization. Читать подробнее
-
-
X-Org-IDилиX-Cloud-Org-ID: идентификатор организации.-
если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок
X-Org-ID, -
если к Трекеру привязана организация Yandex Cloud Organization, используйте заголовок
X-Cloud-Org-ID.
Чтобы узнать идентификатор организации, перейдите на страницу Администрирование → Организации и скопируйте значение поля идентификатор.
-
Параметры тела запроса
Тело запроса содержит информацию, необходимую для создания нового фильтра:
Обязательные параметры
| Параметр | Описание | Тип данных |
|---|---|---|
| name | Название фильтра. | Строка |
Дополнительные параметры
|
Параметр |
Описание |
Тип данных |
|
Объект с параметрами фильтрации, определяет условия отбора задач — какие задачи попадут в результат фильтрации. Ключи объекта — это имена полей задачи, значения — условия фильтрации для этих полей. Полный список поддерживаемых параметров можно найти на странице https://tracker.yandex.ru/admin/fields. Примеры значений для разных типов полей:
|
Объект |
|
|
query |
Условия фильтра в виде языка запросов. |
Строка |
|
fields |
Список полей задачи для отображения в пользовательском интерфейсе Tracker. Например: Параметр |
Массив строк |
|
Массив объектов для сортировки результатов. |
Массив объектов |
|
|
groupBy |
Поле для группировки результатов. |
Строка или объект |
|
folder |
Папка, в которой будет сохранен фильтр. |
Строка или объект |
Примечание
Вы можете использовать либо параметр query, либо filter. Использование обоих параметров одновременно не поддерживается.
Поля объекта sorts
| Параметр | Описание | Тип данных |
|---|---|---|
| field | Ключ поля задачи, по которому выполняется сортировка. | Строка |
| isAscending | Направление сортировки: true — по возрастанию, false — по убыванию. |
Логический |
Пример 1: Создать фильтр с несколькими условиями
- Используется HTTP-метод POST.
- Создается фильтр с названием «Мои открытые задачи».
- Объект
filter: отбирает задачи по двум условиям одновременно (логическое И):
- Статус — открытые задачи (
open)- Исполнитель — текущий пользователь (
me())POST /v3/filters/ HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth y0__xAbc****** X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "name": "Мои открытые задачи", "filter": { "status": "open", "assignee": "me()" } }
Пример 2: Создать фильтр с условием, сортировкой и выбором полей
- Используется HTTP-метод POST.
- Создается фильтр с названием «Открытые задачи».
- Объект
filter: отбирает только задачи со статусомopen.- Параметр
sorts: результаты сортируются по дате создания (от новых к старым).- Параметр
fields: в UI будут отображаться только три поля —key,summaryиstatus. Остальные поля задачи будут скрыты в интерфейсе.POST /v3/filters/ HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth y0__xAbc****** X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "name": "Открытые задачи", "filter": { "status": "open" }, "sorts": [ { "field": "created", "isAscending": false } ], "fields": ["key", "summary", "status"] }
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 201 Created.
Тело ответа содержит информацию о созданном фильтре в формате JSON.
{
"id": 12345,
"self": "https://api.tracker.yandex.net/v3/filters/12345",
"name": "Мои открытые задачи",
"filter": {
"assignee": "me()",
"status": "open"
},
"favorite": false,
"permissions": {
"READ": {
"users": [],
"groups": [
{
"self": "https://api.tracker.yandex.net/v3/groups/5",
"id": "5",
"display": "Все сотрудники"
}
],
"roles": []
},
"WRITE": {
"users": [
{
"self": "https://api.tracker.yandex.net/v3/users/1234567890",
"id": "1234567890",
"display": "Имя Фамилия",
"cloudUid": "ajevuhegoiuhfasjhiu",
"passportUid": 1234567890
}
],
"groups": [],
"roles": []
}
},
"owner": {
"self": "https://api.tracker.yandex.net/v3/users/1234567890",
"id": "1234567890",
"display": "Имя Фамилия",
"cloudUid": "ajevuhegoiuhfasjhiu",
"passportUid": 1234567890
}
}
Параметры ответа
| Параметр | Описание | Тип данных |
|---|---|---|
| id | Идентификатор фильтра. | Число |
| self | Адрес ресурса API, который содержит информацию о фильтре. | Строка |
| name | Название фильтра. | Строка |
| filter | Объект с условиями фильтрации. | Объект |
| query | Строка с условиями фильтрации, записанными на языке запросов. | Строка |
| favorite | Признак избранного фильтра: true — фильтр добавлен в избранное, false — не добавлен. |
Логический |
| permissions | Объект с информацией о правах доступа к фильтру. | Объект |
| owner | Объект с информацией о владельце фильтра. | Объект |
Поля объекта permissions
| Параметр | Описание | Тип данных |
|---|---|---|
| READ | Объект с информацией о правах на чтение фильтра. | Объект |
| WRITE | Объект с информацией о правах на редактирование фильтра. | Объект |
Поля объектов READ и WRITE
| Параметр | Описание | Тип данных |
|---|---|---|
| users | Массив пользователей, у которых есть соответствующие права. | Массив объектов |
| groups | Массив групп, у которых есть соответствующие права. | Массив объектов |
| roles | Массив ролей, у которых есть соответствующие права. | Массив объектов |
Поля объекта owner
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Адрес ресурса API, который содержит информацию о пользователе. | Строка |
| id | Идентификатор пользователя. | Строка |
| display | Отображаемое имя пользователя. | Строка |
| passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число |
| cloudUid | Уникальный идентификатор пользователя в Yandex Cloud Organization. | Строка |
Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:
- 400
- Один или несколько параметров запроса имеют недопустимое значение.
- 401
- Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.