Изменение

Операция: Update

Обновляет задачу.


POST /api/v01/Task/rest/Update
Content-Type: application/json


Тело запроса

Принимает те же поля, что и Create, плюс дополнительно:

ПолеТипОписание
TaskData.TaskID / TaskData.TaskKey / TaskData.IntegrationIDstringКлюч задачи; нужен ровно один
TaskKeyFieldstringИмя ведущего ключа
TaskData.ResolutionIDstringРезолюция
TaskData.VotesnumberСчётчик голосов
TaskData.LabelsarrayМножественные метки
TaskData.ComponentsarrayМножественные компоненты
TaskData.FixVersionsarrayМножественные версии


Дополнительные query-параметры (передаются в URL, не в теле):

ПараметрЗначениеЭффект
DescriptionHTML-строкаПерезаписывает RTE-описание задачи
SendNotification_F'0' / '1'Отправить уведомления подписчикам и наблюдателям


Валидация

  • Должен присутствовать один из ключей задачи: TaskID, TaskKey или IntegrationID.
  • Должен быть указан ProjectID или ProjectCode.
  • Без TaskData или без указанных ключей — HTTP 500, "Wrong parameters".


Побочные эффекты

  • При передаче нового Description в query-параметрах:
    • старое описание читается из подсистемы вложений;
    • формируется HTML-diff (с подсвечиванием добавленных/удалённых фрагментов);
    • создаётся запись истории и diff сохраняется в неё как отдельное RTE-вложение.
  • Если SendNotification_F=1, заинтересованным отправляются уведомления.


Ответ

Успех:

{
  "status": "Success",
  "statusCode": 200,
  "details": {
    "TaskKey": "PROJ-42",
    "TaskID": "0000004242"
  }
}


Пример

Сменить исполнителя и статус задачи PROJ-42, не уведомляя:

POST /api/v01/Task/rest/Update
Content-Type: application/json

{
  "TaskKeyField": "TaskKey",
  "TaskData": {
    "TaskKey": "PROJ-42",
    "ProjectCode": "PROJ",
    "AssigneeID": "0000005678",
    "StatusID": "20"
  }
}