Изменить сущность

Запрос позволяет обновить информацию о сущности — цели, проекте или портфеле проектов.

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.

    Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

Ресурс
Параметр Описание Тип данных
<тип_сущности> Тип сущности:
  • project — проект;
  • portfolio — портфель;
  • goal — цель
Строка
<id_сущности> Идентификатор сущности. Чтобы получить идентификатор, посмотрите список сущностей. В качестве идентификатора можно использовать параметр id или shortId. Строка
Параметры запроса

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

Параметр Описание Тип данных
fields Дополнительные поля сущности, которые будут включены в ответ. Строка
expand Дополнительная информация, которая будет включена в ответ:
  • attachments – вложенные файлы.
Строка
Параметры тела запроса

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

Параметр Описание Тип данных
fields Объект с настройками сущности. Подробнее в разделе Дополнительные параметры сущности Объект
comment Комментарий. Строка
links Массив объектов с настройками связей с другими сущностями. Массив объектов

Поля объекта fields

Параметр

Описание

Тип данных

summary

Название (обязательное поле)

Строка

teamAccess

Настройки доступа:

  • true— доступ только для участников проекта, портфеля или цели.
  • false — доступ имеют другие пользователи, кроме участников проекта, портфеля или цели.

О настройке прав доступа для пользователей и групп см. в разделе Изменить настройки доступа сущности.

Логический

description

Описание

Строка

markupType

Тип отображаемой в тексте разметки. Если вы используете в тексте комментария или описания сущности разметку YFM, укажите значение md

Строка

author

Автор (идентификатор пользователя)

Строка

lead

Ответственный (идентификатор пользователя)

Строка

teamUsers

Участники (массив идентификаторов пользователей)

Массив строк

clients

Заказчики (массив идентификаторов пользователей)

Массив строк

followers

Наблюдатели (массив идентификаторов пользователей)

Массив строк

start

Дата начала в формате YYYY-MM-DDThh:mm:ss.sss±hhmm

Дата

end

Дедлайн в формате YYYY-MM-DDThh:mm:ss.sss±hhmm

Дата

tags

Теги

Массив строк

parentEntity

Данные о родительских сущностях. Для проекта и портфеля — поле «Входит в портфель»

Объект

entityStatus

Статус.

Допустимые значения статуса

Для проекта или портфеля:

  • draft — Новый;
  • draft2 — Черновик;
  • in_progress — В работе;
  • according_to_plan — По плану;
  • postponed — Отложен;
  • at_risk — Есть риски;
  • blocked — Заблокирован;
  • launched — Завершен;
  • cancelled — Отменен.

Для цели:

  • draft — Новая;
  • according_to_plan — По плану;
  • at_risk — Есть риски;
  • blocked — Заблокирована;
  • achieved — Достигнута;
  • partially_achieved — Частично достигнута;
  • not_achieved — Не достигнута;
  • exceeded — Превышена;
  • cancelled — Отменена.

Строка

Поля объектов массива links

Параметр

Описание

Тип данных

relationship

Тип связи. Для проектов и портфелей:

  • depends on — текущая сущность зависит от связанной
  • is dependent by — текущая сущность блокирует связанную
  • works towards — связь проекта с целью

Для цели:

  • parent entity — родительская цель
  • child entity — подцель
  • depends on — текущая цель зависит от связанной
  • is dependent by — текущая цель блокирует связанную
  • is supported by — связь с проектом

Строка

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
Доступ к ресурсу отклонен. Проверьте, указаны ли все обязательные условия выполнения запроса.