API - Сервисные режимы
Для выполнения запроса к API необходима дополнительная авторизация.
Используйте в запросе заголовок Authorization: Bearer <персональный токен>.
Получение списка всех сервисных режимов
Поисковая фраза ?search= работает для:
- Идентификатора сервисного режима.
- Идентификатора КЕ, которая входит в область действия сервисного режима.
- Наименования сервисного режима.
- Ключа / значения набора меток.
Сортировка работает для всех полей кроме:
- Списка КЕ, которые попадают под область действия сервисного режима.
- Словаря меток.
Сервисный режим доступен пользователю, если хоть одна КЕ из запрошенного режима доступна.
GET /api/public/sm/v1/rsm-maintenance
Параметры запроса
| Название параметра | Тип параметра | Обязательный параметр | Значение по умолчанию | Описание параметра | 
|---|---|---|---|---|
| page | integer | нет | null | Номер страницы | 
| perPage | integer | нет | null | Количество записей на одну страницу. Если -1- будут возвращены все КЕ | 
| search | string | нет | null | Строка поиска | 
| sortCol | string | нет | null | Название поля, по которому выполняется сортировка | 
| sortDir | string | нет | null | Направление сортировки (asc/desc) | 
| skip | integer | нет | null | Количество записей, которое требуется пропустить | 
Пример выходной модели
[
    {
        "id": 16,
        "dateStart": "2021-07-08T10:56:17+03:00",
        "dateEnd": "2021-07-11T11:56:17+03:00",
        "title": "Test Servicemode",
        "configItems": [
            {
                "id": 135382,
                "scope": "Ci",
                "depth": 0,
                "state": "Pending",
                "dateStart": "2021-07-08T10:56:17+03:00",
                "dateEnd": "2021-07-11T11:56:17+03:00"
            }
        ],
        "labels": {}
    },
    {
        "id": 17,
        "dateStart": "2021-07-09T10:56:17+03:00",
        "dateEnd": "2021-07-12T11:56:17+03:00",
        "title": "Test Servicemode",
        "configItems": [
            {
                "id": 135380,
                "scope": "CiAndChildren",
                "depth": 3,
                "state": "Pending",
                "dateStart": "2021-07-09T10:56:17+03:00",
                "dateEnd": "2021-07-12T11:56:17+03:00"
            }
        ],
        "labels": {
            "z1": "w1",
            "z2": "w2"
        }
    },
    {
        "id": 18,
        "dateStart": "2021-07-09T10:56:17+03:00",
        "dateEnd": "2021-07-12T11:56:17+03:00",
        "title": "Test Servicemode",
        "configItems": [
            {
                "id": 135379,
                "scope": "Ci",
                "depth": 0,
                "state": "Pending",
                "dateStart": "2021-07-09T10:56:17+03:00",
                "dateEnd": "2021-07-12T11:56:17+03:00"
            },
            {
                "id": 135381,
                "scope": "CiAndChildren",
                "depth": 3,
                "state": "Pending",
                "dateStart": "2021-07-09T10:56:17+03:00",
                "dateEnd": "2021-07-12T11:56:17+03:00"
            }
        ],
        "labels": {
            "z1": "w1",
            "z2": "w2"
        }
    }
]
Коды ответа
| Код | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 401 | Пользователь не авторизован | 
| 403 | Недостаточно прав для просмотра сервисных режимов | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Получение сервисного режима по идентификатору
Сервисный режим доступен пользователю, если хоть одна КЕ из запрошенного режима доступна.
GET /api/public/sm/v1/rsm-maintenance/{id}
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| id | integer | да | нет | ID запроса на обслуживание | 
Пример выходной модели
{
    "id": 18,
    "dateStart": "2021-07-09T10:56:17+03:00",
    "dateEnd": "2021-07-12T11:56:17+03:00",
    "title": "Test Servicemode",
    "configItems": [
        {
            "id": 135379,
            "scope": "Ci",
            "depth": 0,
            "state": "Pending",
            "dateStart": "2021-07-09T10:56:17+03:00",
            "dateEnd": "2021-07-12T11:56:17+03:00"
        },
        {
            "id": 135381,
            "scope": "CiAndChildren",
            "depth": 3,
            "state": "Pending",
            "dateStart": "2021-07-09T10:56:17+03:00",
            "dateEnd": "2021-07-12T11:56:17+03:00"
        }
    ],
    "labels": {
        "z1": "w1",
        "z2": "w2"
    }
}
Коды ответа
| Код | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 403 | Недостаточно прав для просмотра данного сервисного режима | 
| 404 | Сервисный режим с ID {id}не найден | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Получение списка сервисных режимов по фильтру
Поисковая фраза ?search= работает для:
- Идентификатора сервисного режима.
- Идентификатора КЕ, входящей в область действия сервисного режима.
- Наименования сервисного режима.
- Набора меток (ключ / значение).
Сортировка работает для всех полей кроме:
- Списка КЕ, которые попадают под область действия сервисного режима.
- Словаря меток.
Сервисный режим доступен пользователю, если хоть одна КЕ из запрошенного режима доступна.
POST /api/public/sm/v1/rsm-maintenance/filter
Параметры запроса
| Название параметра | Тип параметра | Обязательный параметр | Значение по умолчанию | Описание параметра | 
|---|---|---|---|---|
| page | integer | нет | null | Номер страницы | 
| perPage | integer | нет | null | Количество записей на одну страницу. Если -1- будут возвращены все КЕ | 
| search | string | нет | null | Строка поиска | 
| sortCol | string | нет | null | Название поля, по которому выполняется сортировка | 
| sortDir | string | нет | null | Направление сортировки (asc/desc) | 
| skip | integer | нет | null | Количество записей, которое требуется пропустить | 
Атрибуты модели в теле запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| ids | integer [] | нет | null | Список идентификаторов сервисных режимов | 
| dateStart | object | нет | null | Условия фильтрации сервисных режимов по дате начала сервисного режима | 
| dateEnd | object | нет | null | Условия фильтрации сервисных режимов по дате конца сервисного режима | 
| configItemIds | integer [] | нет | null | Список идентификаторов КЕ, для которых требуется получить сервисные режимы | 
Внутри массива конкретного поля список объединяется через логическое ИЛИ. Пример для ids: [1,2,3] – будут выбраны сущности с ID 1 ИЛИ 2 ИЛИ 3.
Поля между собой пересекаются через логическое И. Например: ids: [1,2,3], configItemIds: [100, 200] – будут получены режимы обслуживания, если у них ID 1 ИЛИ 2 ИЛИ 3, И при этом входящие в них КЕ имеют ID 100 ИЛИ 200.
Поля dateStart и dateEnd могут принимать значения:
- lessThanOrEqual- меньше или равно
- moreThanOrEqual- больше или равно
- Equal- равно
Пример тела запроса
{
    "ids": [
        1,
        2,
        3,
        4,
        5
    ],
    "dateStart": {
        "lessThanOrEqual": "2021-07-09T10:56:17+03:00"
    },
    "dateEnd": {
        "lessThanOrEqual": "2021-07-11T10:56:17+03:00",
        "moreThanOrEqual": "2021-07-10T10:56:17+03:00"
    },
    "configItemIds": [
        18063,
        17110,
        18580
    ]
}
Пример выходной модели смотрите в Получение списка всех сервисных режимов.
Коды ответа
| Код | Описание | 
|---|---|
| 200 | Запрос успешно исполнен | 
| 400 | Пустой фильтр в запросе | 
| 400 | Неверная модель данных в теле запроса | 
| 403 | Недостаточно прав для просмотра сервисных режимов по данному фильтру | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Создание сервисного режима
POST /api/public/sm/v1/rsm-maintenance
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| batchValidate | bool | нет | false | Флаг проверки прав установки сервисного режима для всех указанных КЕ | 
Флаг проверки прав установки сервисного режима для всех указанных КЕ:
false– будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
true– будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан.
Атрибуты модели в теле запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| title | string | нет | null | Название сервисного режима | 
| dateStart | string | да | нет | Время начала действия сервисного режима | 
| dateEnd | string | да | нет | Время окончания действия сервисного режима | 
| configItems | object [] | да | нет | Область действия сервисного режима – параметрический фильтр по КЕ | 
| configItems.id | integer | да | нет | Идентификатор КЕ | 
| configItems.scope | string | нет | Ci | Область параметрического фильтра. | 
| configItems.depth | integer | нет | 0 | Длинна ребер графа подчиненных КЕ. | 
| labels | object | нет | null | Объект с перечислением пользовательских меток | 
Формат записи
dateStartиdateEnd:"2020-03-26T10:56:17+03:00"
configItems.scopeможет принимать значения:
Ci– только выбранная КЕ
CiAndChildren– выбранная КЕ и подчиненные КЕ
Параметр dateEnd должен быть больше текущей даты и времени
Пример тела запроса
{
  "dateStart": "2021-07-09T10:56:17+03:00",
  "dateEnd": "2021-07-12T10:56:17+03:00",
  "title": "Test Service Mode",
  "configItems": [
    {
      "id": 1,
      "scope": "CiAndChildren",
      "depth": 3
    }
  ],
  "labels": {
    "x1": "y1",
    "x2": "y2"
  }
}
Пример выходной модели смотрите в Получение сервисного режима по идентификатору.
Коды ответа
| Код | Описание | 
|---|---|
| 201 | Сервисный режим успешно создан | 
| 400 | Пустое тело запроса | 
| 400 | Неверная модель данных в теле запроса | 
| 400 | Не указано время начала режима обслуживания | 
| 400 | Не указано время окончания режима обслуживания | 
| 400 | Не задан список КЕ, которым требуется назначить режим обслуживания | 
| 400 | Время окончания режима обслуживания должно быть больше времени начала | 
| 400 | Не указан идентификатор КЕ | 
| 400 | Недопустимое значение идентификатора КЕ | 
| 400 | Недопустимое значение глубины графа РСМ | 
| 400 | Указанные КЕ не найдены или у вас недостаточно прав | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для создания сервисного режима | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Редактирование сервисного режима
PUT-запрос целиком меняет модель присланную пользователем, за исключением некоторых правил изменения области действия.
PUT /api/public/sm/v1/rsm-maintenance/{id}
Параметры запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| id | integer | да | нет | ID запроса на обслуживание | 
| batchValidate | boolean | нет | false | Флаг проверки прав установки сервисного режима для всех указанных КЕ | 
Флаг проверки прав установки сервисного режима для всех указанных КЕ:
false– будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
true– будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан.
Атрибуты модели в теле запроса
| Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание | 
|---|---|---|---|---|
| title | string | нет | null | Название сервисного режима | 
| dateStart | string | да | нет | Время начала действия сервисного режима | 
| dateEnd | string | да | нет | Время окончания действия сервисного режима | 
| configItems | object [] | да | нет | Область действия сервисного режима – параметрический фильтр по КЕ | 
| configItems.id | integer | да | нет | Идентификатор КЕ | 
| configItems.scope | string | нет | Ci | Область параметрического фильтра. | 
| configItems.depth | integer | нет | 0 | Длинна ребер графа подчиненных КЕ. | 
| labels | object | нет | null | Объект с перечислением пользовательских меток | 
| cancel | boolean | нет | null | Отменить запланированный или завершить активный текущий сервисный режим | 
Пример выходной модели смотрите в Получение сервисного режима по идентификатору.
Коды ответа
| Код | Описание | 
|---|---|
| 200 | Сервисный режим успешно изменен | 
| 400 | Пустое тело запроса | 
| 400 | Неверная модель данных в теле запроса | 
| 400 | Недопустимое значение идентификатора сервисного режима | 
| 400 | Не указано время начала режима обслуживания | 
| 400 | Не указано время окончания режима обслуживания | 
| 400 | Не задан список КЕ, которым требуется назначить режим обслуживания | 
| 400 | Время окончания режима обслуживания должно быть больше времени начала | 
| 400 | Не указан идентификатор КЕ | 
| 400 | Недопустимое значение идентификатора КЕ | 
| 400 | Недопустимое значение глубины графа РСМ | 
| 400 | Указанные КЕ не найдены или у вас недостаточно прав | 
| 400 | Указанный режим обслуживания уже окончен. Вы не можете завершить его | 
| 400 | Указанный режим обслуживания уже начался. Вы не можете отменить его | 
| 400 | Указанный режим обслуживания уже окончен. Вы не можете изменить его | 
| 400 | Указанный режим уже начался, Вы не можете изменить время его начала | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для редактирования сервисного режима | 
| 404 | Сервисный режим с ID {id}не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса | 
Частичное обновление данных сервисного режима
В запросе PATCH передаются только поля, которые необходимо изменить.
Передача всей модели запроса не обязательна.
PATCH /api/public/sm/v1/rsm-maintenance/{id}
Параметры запроса и тела запроса, а также входные и исходящие модели смотрите в Редактирование сервисного режима.
Коды ответа
| Код | Описание | 
|---|---|
| 200 | Сервисный режим успешно изменен | 
| 400 | Пустое тело запроса | 
| 400 | Неверная модель данных в теле запроса | 
| 400 | Недопустимое значение идентификатора сервисного режима | 
| 400 | Время окончания режима обслуживания должно быть больше времени начала | 
| 400 | Не указан идентификатор КЕ | 
| 400 | Недопустимое значение идентификатора КЕ | 
| 400 | Недопустимое значение глубины графа РСМ | 
| 400 | Указанные КЕ не найдены или у вас недостаточно прав | 
| 400 | Указанный режим обслуживания уже окончен. Вы не можете завершить его | 
| 400 | Указанный режим обслуживания уже начался. Вы не можете отменить его | 
| 400 | Указанный режим обслуживания уже окончен. Вы не можете изменить его | 
| 400 | Указанный режим уже начался, Вы не можете изменить время его начала | 
| 401 | Не удалось выполнить авторизацию пользователя | 
| 403 | Недостаточно прав для редактирования сервисного режима | 
| 404 | Сервисный режим с ID {id}не найден | 
| 415 | Неправильный тип входных данных. Требуется указать тип: application/json | 
| 500 | Непредвиденная ошибка при обработке запроса |