Массовое создание инцидентов
Запрос
| Тип | Метод |
|---|---|
POST |
/service_asset_findings/mass_create |
Описание: при выполнении запроса будут созданы инциденты из переданного списка.
Каждый инцидент обрабатывается отдельно. Перед созданием выполняется валидация данных. Если при обработке отдельного инцидента возникает ошибка, информация о ней возвращается в поле error соответствующего элемента массива results.
Если при создании инцидента возникает ошибка уникального ограничения, выполняется обновление существующего инцидента по полям уникального ограничения, которые вызвали ошибку.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/service_asset_findings/mass_create
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| items | Array<object> |
Required | Список инцидентов для создания |
Каждый элемент массива items соответствует структуре тела запроса метода создания инцидента.
Пример структуры тела запроса
{
"items": [
{
"description": "Описание инцидента",
"risk_impact": "Описание возможных последствий",
"solution": "Рекомендации по устранению",
"mitigation": "Описание профилактики",
"status": "new",
"risklevel": 5,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
"title": "Инцидент"
}
]
}
Примечание: Полный перечень параметров объекта
itemsсм. в разделе Создание инцидента.
Успешный ответ
Статус код: 200 – запрос успешно обработан.
Формат: JSON.
Параметры ответа:
| Параметр | Тип данных | Описание |
|---|---|---|
| results | Array<object> |
Список результатов обработки инцидентов |
| results[].result | ServiceAssetFinding или null |
Созданный или обновлённый инцидент. Возвращается при успешной обработке объекта |
| results[].error | string или null |
Текст ошибки обработки объекта. Может содержать ошибку валидации, создания, обновления или другую ошибку обработки |
Для каждого элемента массива items в массиве results возвращается результат его обработки:
- при успешном создании или обновлении поле
resultсодержит объект инцидента, аerrorимеет значениеnull; - при ошибке поле
errorсодержит описание ошибки, аresultимеет значениеnull.
Пример ответа
{
"results": [
{
"result": {
"id": "7bc42fd2-057c-4117-b367-8528bec75c80",
"title": "Инцидент"
},
"error": null
},
{
"result": null,
"error": "текст ошибки"
}
]
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Request |
Ошибка в теле запроса, список объектов не передан или не удалось обработать структуру запроса |
401 |
can't get user info |
Невозможно аутентифицировать пользователя |
500 |
Internal Server Error |
Другие ошибки сервера |
Возможные ошибки:
400—"Bad Request"— неверный тип параметра запроса либо отсутствует обязательный параметр;400—"read body: ..."— ошибка чтения тела запроса;400—"empty items"— список объектов не передан или пуст;400—"parse request: ..."— ошибка разбора запроса;400—"parse request to map: ..."— ошибка преобразования запроса;401—"can't get user info:"— невозможно аутентифицировать пользователя;500—"Internal Server Error"— другие ошибки сервера.
Примечание: Текст ошибки не фиксированный и может изменяться в зависимости от фактического ответа на запрос.
Пример ответа с кодом 400
{
"error": "empty items"
}
Пример ответа с кодом 401
{
"error": "can't get user info:"
}
Пример ответа с кодом 500
{
"error": "Internal Server Error"
}