Перейти к содержанию

Массовое обновление инцидентов

Запрос

Тип Метод
POST /service_asset_findings/mass_update

Описание: при выполнении запроса будут обновлены инциденты с указанными идентификаторами.

Метод работает по принципу частичного обновления: изменяются только поля, переданные в объекте fields. Всем указанным инцидентам присваиваются одинаковые значения этих полей.

Изменение связей с другими объектами не поддерживается.

Метод является транзакционным: если при обновлении одного из инцидентов возникает ошибка, изменения всех объектов откатываются.

При передаче lifecycle_status_id в объекте fields для всех указанных инцидентов автоматически синхронизируется поле status.

Пример запроса

POST

http://127.0.0.1/cruddy/v2/service_asset_findings/mass_update

Тело запроса:

Параметр Тип данных Обязательность Описание
ids Array<string uuid> Required Список идентификаторов изменяемых инцидентов
fields object Required Поля инцидентов и их новые значения

Объект fields соответствует модели инцидента без полей связей. В запрос необходимо передавать только те поля, значения которых требуется изменить.

Пример тела запроса

{
  "ids": [
    "7bc42fd2-057c-4117-b367-8528bec75c80",
    "8baf5d9f-7ca8-45cf-956a-14aa2f5833f2"
  ],
  "fields": {
    "risk": "high",
    "risklevel": 8,
    "status": "working_customer"
  }
}

Примечание: Значения, указанные в fields, будут применены ко всем инцидентам из массива ids.

Успешный ответ

Статус код: 200 – инциденты успешно изменены.

Формат: пустое тело ответа.

Другие возможные ответы

Код Ответ Описание
400 Bad Request Неверные параметры запроса, не передан список инцидентов или поля для изменения
404 Not Found Один из изменяемых инцидентов не найден
409 Conflict Попытка присвоить объекту существующее уникальное значение атрибута
500 Internal Server Error Другие ошибки при изменении инцидентов

Возможные ошибки:

  • 400 — "missing uid header" — отсутствует заголовок Pgr-User-ID;
  • 400 — "Pgr-User-Id should be uuid format" — неверный формат Pgr-User-ID;
  • 400 — "Bad Request" — неверный тип параметра запроса либо отсутствует обязательный параметр;
  • 400 — "ids is empty" — список идентификаторов инцидентов не передан;
  • 400 — "fields is empty" — новые значения полей не переданы;
  • 400 — "exceeded maximum length for a value" — значение превышает максимально допустимую длину;
  • 400 — "id should be uuid format" — идентификатор имеет недопустимый формат;
  • 404 — "not found" — изменяемый инцидент не найден;
  • 409 — попытка присвоить объекту существующее уникальное значение атрибута;
  • 500 — "Internal Server Error" — другие ошибки при изменении объектов;
  • 500 — "lifecycle_status_id ... not found for entity_type service_asset_finding" — статус жизненного цикла не найден или не принадлежит инцидентам;
  • 500 — "unknown lifecycle status key ... for service_asset_finding" — указан несовместимый ключ статуса жизненного цикла.

Примечание: Текст ошибки не фиксированный и может изменяться в зависимости от фактического ответа на запрос.

Пример ответа с кодом 400

{
  "error": "ids is empty"
}

Пример ответа с кодом 404

{
  "error": "not found"
}

Пример ответа с кодом 500

{
  "error": "Internal Server Error"
}