Создать фильтр

Запрос позволяет создать новый фильтр задач.

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 Название фильтра. Строка

Дополнительные параметры

Параметр

Описание

Тип данных

filter

Объект с параметрами фильтрации, определяет условия отбора задач — какие задачи попадут в результат фильтрации. Ключи объекта — это имена полей задачи, значения — условия фильтрации для этих полей.

Полный список поддерживаемых параметров можно найти на странице https://tracker.yandex.ru/admin/fields.

Примеры значений для разных типов полей:

  • Текстовые поля и пользователи: "assignee": "me()", "assignee": "userlogin", "createdBy": "username"
  • Статусы и перечисления: "status": "open" или массив "status": ["open", "inProgress"]
  • Даты: "created": "2024-01-01..2024-12-31" (диапазон дат)

Объект

query

Условия фильтра в виде языка запросов.

Строка

fields

Список полей задачи для отображения в пользовательском интерфейсе Tracker. Например: ["key", "summary", "status", "assignee", "priority", "created", "updated"].

Параметр fields влияет только на отображение в интерфейсе Tracker, но не влияет на результаты API-запросов. При использовании фильтра через API (метод /v2/issues/_search) возвращаются поля задачи в зависимости от параметров, переданных при вызове метода _search.

Массив строк

sorts

Массив объектов для сортировки результатов.

Массив объектов

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 и через интерфейс требуются одинаковые права.