Получить список сущностей
Запрос позволяет получить список сущностей, удовлетворяющих заданному критерию.
Запрос представляет унифицированный метод получения списка проектов и портфелей, более гибкий и функциональный, чем API получения списка проектов.
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы получить список сущностей, используйте HTTP-запрос с методом POST
. Параметры запроса передаются в его теле в формате JSON.
POST /v2/entities/{entityType}/_search?fields=entityStatus
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
{
"filter":
{
"author": "<логин_пользователя>"
}
}
Заголовки
-
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 для бизнеса, используется заголовок
Ресурс
Ресурс
Параметр | Описание | Тип данных |
---|---|---|
<тип_сущности> | Тип сущности:
|
Строка |
Параметры запроса
Дополнительные параметры
Параметр | Описание | Тип данных |
---|---|---|
fields | Дополнительные поля, которые будут включены в ответ. | Строка |
perPage | Количество задач на странице ответа. Значение по умолчанию — 50. | Число |
page | Страница выдачи. Значение по умолчанию — 1. | Число |
Важно
Ключи полей сущностей не всегда совпадают с аналогичными ключами задач.
Параметры тела запроса
Тело запроса содержит информацию, необходимую для поиска сущностей:
Дополнительные параметры
Параметр | Описание | Тип данных |
---|---|---|
input | Подстрока в названии сущности. | Строка |
filter | Параметры фильтрации задач. В параметре можно указать ключ любого поля и значение, по которому будет производиться фильтрация. | Объект |
orderBy | Параметры сортировки задач. В параметре можно указать ключ любого поля, по которому будет производиться сортировка. | Строка |
orderAsc | Направление сортировки. | Логический |
rootOnly | Выводить только не вложенные сущности. | Логический |
Важно
Ключи полей и ключи значений (например, статусов) сущностей не всегда совпадают с аналогичными ключами задач.
Пример 1: Получить список сущностей с помощью фильтра с расширенным списком полей в выдаче
- Используется HTTP-метод POST.
- Ответ должен содержать только взятые в работу проекты с непустым списком наблюдателей.
- В ответе включено отображение полей
Статус
,Автор
иНаблюдатели
.POST /v2/entities/project/_search?fields=entityStatus&author&followers HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "filter": { "followers": "notEmpty()", "entityStatus": "in_progress" }, }
Пример 2: Получить сортированный список всех сущностей
- Используется HTTP-метод POST.
- Ответ должен содержать все портфели, отсортированные по статусам.
- Результаты отсортированы в убывающем порядке.
- В ответе включено отображение полей
Статус
иАвтор
.POST /v2/entities/project/_search?fields=entityStatus&author HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "orderBy": "entityStatus", "orderAsc":true }
Пример 3: Получить для указанного портфеля список вложенных проектов с помощью фильтра
- Используется HTTP-метод POST.
- Ответ должен содержать только вложенные проекты для родительского портфеля с указанным идентификатором.
POST /v2/entities/project/_search HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "filter": { "parentEntity": "65868add99a40477********" }, }
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK
.
Тело ответа содержит результаты в формате JSON.
{
"hits": 8,
"pages": 1,
"values": [
{
"self": "https://api.tracker.yandex.net/v2/entities/project/655f8ce5d6a39833********",
"id": "655f8ce5d6a39833********",
"version": 7,
"shortId": 8,
"entityType": "project",
"createdBy": { "self": "https://api.tracker.yandex.net/v2/users/11********", "id": "11********", "display": "Имя Фамилия", "cloudUid": "ajevuhegoggf********", "passportUid": 11******** },
"createdAt": "2023-11-23T17:33:25.427+0000",
"updatedAt": "2023-11-24T12:21:43.838+0000",
"fields": {
"entityStatus": "in_progress",
"followers": [{ "self": "https://api.tracker.yandex.net/v2/users/22********", "id": "22********", "display": "Имя Наблюдателя", "cloudUid": "ajeprm0fjnql********", "passportUid": 22******** }]
}
},
{
"self": "https://api.tracker.yandex.net/v2/entities/project/655f3815a834c763********",
"id": "655f3815a834c763********",
"version": 4,
"shortId": 3,
"entityType": "project",
"createdBy": { "self": "https://api.tracker.yandex.net/v2/users/11********", "id": "11********", "display": "Имя Фамилия", "cloudUid": "ajevuhegoggf********", "passportUid": 11******** },
"createdAt": "2023-11-23T11:31:33.874+0000",
"updatedAt": "2023-11-23T21:52:10.863+0000",
"fields": {
"entityStatus": "draft",
"followers": [{ "self": "https://api.tracker.yandex.net/v2/users/22********", "id": "22********", "display": "Имя Наблюдателя", "cloudUid": "ajeprm0fjnql********", "passportUid": 22******** }]
}
}
],
"orderBy": "entityStatus"
}
Параметры ответа
Параметр | Описание | Тип данных |
---|---|---|
hits | Количество результатов в выдаче. | Число |
pages | Количество страниц в выдаче. | Число |
values | Результаты. Объекты сущностей. | Массив объектов |
Поля объектов сущностей
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о проекте. | Строка |
id | Идентификатор сущности. | Строка |
version | Версия сущности. Каждое изменение параметров увеличивает номер версии. | Число |
shortId | Идентификатор проекта или портфеля. | Строка |
entityType | Тип сущности. | Строка |
createdBy | Блок с информацией о создателе сущности. | Объект |
createdAt | Дата создания сущности в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . |
Строка |
updatedAt | Дата последнего обновления сущности в формате YYYY-MM-DDThh:mm:ss.sss±hhmm . |
Строка |
fields | Объект с дополнительными полями. | Объект |
Поля объекта createdBy
Параметр | Описание | Тип данных |
---|---|---|
self | Адрес ресурса API, который содержит информацию о создателе сущности. | Строка |
id | Идентификатор пользователя. | Число |
display | Отображаемое имя пользователя. | Строка |
cloudUid | Уникальный идентификатор пользователя в Yandex Cloud Organization. | Строка |
passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Строка |
Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:
- 400
- Один или несколько параметров запроса имеют недопустимое значение.
- 401
- Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Tracker — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 404
- Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.