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