Изменить сущность
Запрос позволяет обновить информацию о сущности — цели, проекте или портфеле проектов.
PATCH
https://api.tracker.yandex.net/v3/entities/<тип_сущности>/<id_сущности>
Формат запроса
Перед выполнением запроса получите доступ к API.
Чтобы изменить сущность, используйте HTTP-запрос с методом PATCH. В теле запроса укажите параметры в формате JSON.
PATCH /v3/entities/<тип_сущности>/<id_сущности>
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
{
"fields":
{
"summary": "<новое_название>",
"teamAccess": true,
"parentEntity": {
"primary": "<id_родительской_сущности>"
}
},
"comment":"<комментарий>",
"links":
[
{
"relationship": "<связь>",
"entity": "<id_связанной_сущности>"
}
]
}
Заголовки
-
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 или shortId. |
Строка |
Параметры запроса
Дополнительные параметры
| Параметр | Описание | Тип данных |
|---|---|---|
| fields | Дополнительные поля сущности, которые будут включены в ответ. | Строка |
| expand | Дополнительная информация, которая будет включена в ответ:
|
Строка |
Параметры тела запроса
Дополнительные параметры
| Параметр | Описание | Тип данных |
|---|---|---|
| fields | Объект с настройками сущности. Подробнее в разделе Дополнительные параметры сущности | Объект |
| comment | Комментарий. | Строка |
| links | Массив объектов с настройками связей с другими сущностями. | Массив объектов |
Поля объекта fields
|
Параметр |
Описание |
Тип данных |
|
summary |
Название (обязательное поле) |
Строка |
|
teamAccess |
Настройки доступа:
О настройке прав доступа для пользователей и групп см. в разделе Изменить настройки доступа сущности. |
Логический |
|
description |
Описание |
Строка |
|
markupType |
Тип отображаемой в тексте разметки. Если вы используете в тексте комментария или описания сущности разметку YFM, укажите значение |
Строка |
|
author |
Автор (идентификатор пользователя) |
Строка |
|
lead |
Ответственный (идентификатор пользователя) |
Строка |
|
teamUsers |
Участники (массив идентификаторов пользователей) |
Массив строк |
|
clients |
Заказчики (массив идентификаторов пользователей) |
Массив строк |
|
followers |
Наблюдатели (массив идентификаторов пользователей) |
Массив строк |
|
start |
Дата начала в формате |
Дата |
|
end |
Дедлайн в формате |
Дата |
|
tags |
Теги |
Массив строк |
|
Данные о родительских сущностях. Для проекта и портфеля — поле «Входит в портфель» |
Объект |
|
|
entityStatus |
Статус. Допустимые значения статусаДля проекта или портфеля:
Для цели:
|
Строка |
Поля объектов массива links
|
Параметр |
Описание |
Тип данных |
|
relationship |
Тип связи. Для проектов и портфелей:
Для цели:
|
Строка |
|
entity |
Идентификатор связанной сущности. |
Строка |
Поля объекта parentEntity
| Параметр | Описание | Тип данных |
|---|---|---|
| primary | Идентификатор основного портфеля (для проектов и портфелей) или родительской цели (для целей) | Строка |
| secondary | Для проектов и портфелей — идентификаторы дополнительных портфелей Для целей параметр secondary не поддерживается |
Массив строк |
Если в адресе запроса указана версия API v2, параметр parentEntity может содержать только идентификатор основной родительской сущности.
Например: "parentEntity": "66e2fa183*****"
Пример 1: Изменить название проекта и оставить комментарий
- Используется HTTP-метод PATCH.
- Название проекта меняется на «Test 2».
- В комментарии проекта добавляется запись «Проект переименован».
- В ответе включено отображение вложений.
PATCH /v3/entities/project/655f8cc52*****?expand=attachments HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "fields": { "summary":"Test 2" }, "comment":"Проект переименован" }
Пример 2: Изменить у проекта основной портфель и добавить дополнительный
- Используется HTTP-метод PATCH.
- В качестве основного портфеля указывается портфель с идентификатором
66e2fa183*****.- В список дополнительных портфелей добавляется портфель с идентификатором
670e702fd*****.- В ответе включено отображение родительских сущностей.
PATCH /v3/entities/project/655f8cc52*****?fields=parentEntity HTTP/1.1 Host: api.tracker.yandex.net Authorization: OAuth <OAuth-токен> X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации> { "fields": { "parentEntity": { "primary": "66e2fa183*****", "secondary": { "add": ["670e702fd*****"] } } } }
Формат ответа
В случае успешного выполнения запроса API возвращает ответ с кодом 200 OK.
Тело ответа содержит информацию об измененной сущности в формате JSON.
{
"self": "https://api.tracker.yandex.net/v3/entities/project/655f328da834c763********",
"id": "655f328da834c763********",
"version": 3,
"shortId": 2,
"entityType": "project",
"createdBy": { "self": "https://api.tracker.yandex.net/v3/users/11********", "id": "11********", "display": "Имя Фамилия", "cloudUid": "ajevuhegoggf********", "passportUid": 11******** },
"createdAt": "2023-11-23T11:07:57.298+0000",
"updatedAt": "2023-11-23T15:46:26.391+0000",
"attachments": [
{
"self": "https://api.tracker.yandex.net/v3/attachments/8",
"id": "8",
"name": "file1.docx",
"content": "api.tracker.yandex.net/v3/attachments/8/file1.docx",
"createdBy": { "self": "https://api.tracker.yandex.net/v3/users/11********", "id": "11********", "display": "Имя Фамилия", "cloudUid": "ajevuhegoggf********", "passportUid": 11******** },
"createdAt": "2023-11-23T15:46:20.617+0000",
"mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"size": 18585
},
{
"self": "https://api.tracker.yandex.net/v3/attachments/9",
"id": "9",
"name": "file2.pdf",
"content": "api.tracker.yandex.net/v3/attachments/9/file2.pdf",
"createdBy": { "self": "https://api.tracker.yandex.net/v3/users/11********", "id": "11********", "display": "Имя Фамилия", "cloudUid": "ajevuhegoggf********", "passportUid": 11******** },
"createdAt": "2023-11-23T15:46:25.932+0000",
"mimetype": "application/pdf",
"size": 175656
}
],
"fields":
{
"teamAccess": null
}
}
Параметры ответа
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Адрес ресурса API, который содержит информацию о проекте. | Строка |
| id | Идентификатор сущности. | Строка |
| version | Версия сущности. Каждое изменение параметров увеличивает номер версии. Редактирование сущности будет заблокировано, если версия достигнет предельного значения: для роботов 10100, для пользователей 11100. |
Число |
| shortId | Идентификатор цели, проекта или портфеля в интерфейсе Трекера. | Число |
| entityType | Тип сущности. | Строка |
| createdBy | Блок с информацией о создателе сущности. | Объект |
| createdAt | Дата создания сущности в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. |
Строка |
| updatedAt | Дата последнего обновления сущности в формате YYYY-MM-DDThh:mm:ss.sss±hhmm. |
Строка |
| attachments | Массив объектов с информацией о вложении. | Массив объектов |
| fields | Блок с дополнительными полями сущности. | Объект |
Поля объекта createdBy
| Параметр | Описание | Тип данных |
|---|---|---|
| self | Адрес ресурса API, который содержит информацию о пользователе. | Строка |
| id | Идентификатор пользователя. | Строка |
| display | Отображаемое имя пользователя. | Строка |
| passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число |
| cloudUid | Уникальный идентификатор пользователя в Yandex Cloud Organization. | Строка |
Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:
- 400
- Один или несколько параметров запроса имеют недопустимое значение.
- 401
- Пользователь не авторизован. Проверьте, были ли выполнены действия, описанные в разделе Доступ к API.
- 403
- У вас не хватает прав на выполнение этого действия. Наличие прав можно перепроверить в интерфейсе Трекера — для выполнения действия при помощи API и через интерфейс требуются одинаковые права.
- 412
- При редактировании объекта возник конфликт. Возможно, ошибка возникла из-за неправильно указанной версии изменений.
- 423
- Редактирование объекта заблокировано. Возможно, превышено допустимое значение параметра
version— количество обновлений объекта. Максимальное значение версии составляет10100для роботов и11100для пользователей.
- 428
- Доступ к ресурсу отклонен. Проверьте, указаны ли все обязательные условия выполнения запроса.