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 | Непредвиденная ошибка при обработке запроса |