Массовое обновление инцидентов
Запрос
| Тип | Метод |
|---|---|
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"
}