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

Обновление группы инцидентов

Запрос

Тип Метод
PUT /incident_groups/update

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

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

Позволяет также управлять связями многие ко многим с другими моделями через поле _relations.

Ключами в поле _relations могут быть названия полей моделей ссылающиеся на другие. Например если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила то это поле можно использовать при управлении данной связью.

Управление работает следующим образом:

  • Если поля в объекте _relations отсутствуют зависимости не обновляются.
  • Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию.
  • Если поле зависимости указано и в значении пустой список то все связи удаляются.
  • Зависимости игнорируются в теле запроса.
  • Зависимости в ответе всегда null.

Например следующий запрос:

{
  "id": "uuid",
  ...
  "_relations": {
    "logmule_go_rules": [] // - очистит все связи с правилами
    // "logmule_go_rules": ["uuid1", "uuid2"] // - создаст связь с 2 правилами
    // "logmule_go_rules": ["uuid1"] // - оставит связь только с первым правилом
  }
}
Пример запроса

PUT
http://127.0.0.1/cruddy/v2/incident_groups/update

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

Параметр Тип данных Обязательность Описание
id string Required Идентификатор группы инцидентов
created_at string Required Дата создания группы инцидентов в формате: date-time
updated_at string Required Дата изменения группы инцидентов в формате: date-time
title string Required Название группы инцидентов
description string Required Расширенное описание группы инцидентов
user_id string Required Идентификатор пользователя, на которого назначена группа инцидентов
group_id string Required Идентификатор группы пользователей, на которую назначена группа инцидентов
_relations object Required Словарь описывающий связанные модели через идентификаторы
_relations{service_asset_findings} Array<string> Required Список идентификаторов инцидентов, входящих в группу
Пример тела запроса

{
  "title": "string",
  "description": "string",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "trace_id": "uuid",
  "_relations": {
    "service_asset_findings": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

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

Статус код: 200 – успешное обновление информации о группе инцидентов.

Формат: JSON.

Тело ответа: модель обновленной группы инцидентов.

Пример ответа

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "title": "string",
  "description": "string",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  "incidents_count": 0,
  "service_asset_findings": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "user": {},
  "group": {}
}

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

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

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

Пример ответа
Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 404

{
  "error": "Not Found",
  "error_code": 404
}

Код 409

{
  "error": "Bad Request",
  "error_code": 409,
  "extra": {
    "fields": [
      "name"
    ]
  }
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}