API - Сервисные режимы
Для выполнения запроса к API необходима дополнительная авторизация.
Используйте в запросе заголовок Authorization: Bearer <персональный токен>
.
Получение списка всех сервисных режимов
Поисковая фраза ?search=
работает для:
- Идентификатора сервисного режима.
- Идентификатора КЕ, которая входит в область действия сервисного режима.
- Наименования сервисного режима.
- Ключа / значения набора меток.
Сортировка работает для всех полей кроме:
- Списка КЕ, которые попадают под область действия сервисного режима.
- Словаря меток.
Сервисный режим доступен пользователю, если хоть одна КЕ из запрошенного режима доступна.
GET /api/public/sm/v1/rsm-maintenance
Параметры запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
sortCol | string | нет | Название колонки для сортировки данных |
sortDir | string | нет | Значения: asc / desc – направление сортировки данных |
page | int | нет | Номер страницы с результатами |
perPage | int | нет | Количество результатов на странице. По умолчанию – 1000 . Чтобы получить все записи требуется передать значение -1 |
search | string | нет | Поисковая фраза |
Пример выходной модели
[
{
"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 | long | да | 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
Параметры запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
sortCol | string | нет | Название колонки для сортировки данных |
sortDir | string | нет | Значения: asс / desc – направление сортировки данных |
page | int | нет | Номер страницы с результатами |
perPage | int | нет | Количество результатов на странице. По умолчанию – 1000 . Чтобы получить все записи требуется передать значение -1 |
search | string | нет | Поисковая фраза |
Атрибуты модели в теле запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
ids | long[] | нет | Список идентификаторов сервисных режимов |
dateStart | DateTimeFilter | нет | Условия фильтрации сервисных режимов по дате начала сервисного режима |
dateEnd | DateTimeFilter | нет | Условия фильтрации сервисных режимов по дате конца сервисного режима |
configItemIds | long[] | нет | Список идентификаторов КЕ, для которых требуется получить сервисные режимы |
Внутри массива конкретного поля список объединяется через логическое ИЛИ. Пример для 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 (по умолчанию) – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан |
Атрибуты модели в теле запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
title | string | нет | Название сервисного режима |
dateStart | DateTime | да | Условия фильтрации сервисных режимов по дате начала сервисного режима. Пример: “2020-03-26T10:56:17+03:00“ |
dateEnd | DateTime | да | Условия фильтрации сервисных режимов по дате конца сервисного режима |
configItems | custom | нет | Область действия сервисного режима – параметрический фильтр по КЕ |
configItems:id | long | да | Идентификатор КЕ |
configItems:scope | string | да | Область параметрического фильтра. Принимает значения:Ci – только выбранная КЕCiAndChildren – выбранная КЕ и подчиненные КЕ |
configItems:depth | int | нет | Длинна ребер графа подчиненных КЕ. По умолчанию -1 – все подчиненные КЕ |
labels | custom object | нет | Объект с перечислением метод пользователя в формате:{ "x1": "y1", "x2": "y2" } |
Пример входной модели
{
"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 | Непредвиденная ошибка при обработке запроса |
Параметр dateEnd должен быть больше текущей даты и времени
Редактирование сервисного режима
PUT-запрос целиком меняет модель присланную пользователем, за исключением некоторых правил изменения области действия.
PUT /api/public/sm/v1/rsm-maintenance/{id}
Параметры запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
id | long | да | ID запроса на обслуживание |
batchValidate | bool | нет | Флаг проверки прав установки сервисного режима для всех указанных КЕ.false (по умолчанию) – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан |
Атрибуты модели в теле запроса
Параметр | Тип | Требуется | Описание |
---|---|---|---|
title | string | нет | Название сервисного режима |
dateStart | DateTime | да | Условия фильтрации сервисных режимов по дате начала сервисного режима. Пример: “2021-07-09T10:56:17+03:00“ |
dateEnd | DateTime | да | Условия фильтрации сервисных режимов по дате конца сервисного режима |
configItems | custom | нет | Область действия сервисного режима – параметрический фильтр по КЕ |
configItems:id | long | да | Идентификатор КЕ |
configItems:scope | string | да | Область параметрического фильтра. Принимает значения:Ci – только выбранная КЕCiAndChildren – выбранная КЕ и подчиненные КЕ |
configItems:depth | int | нет | Длинна ребер графа подчиненных КЕ. По умолчанию -1 – все подчиненные КЕ |
labels | custom object | нет | Объект с перечислением метод пользователя в формате:{ "x1": "y1", "x2": "y2" } |
cancel | bool | нет | true – режим обслуживания будет отменён, если запланирован или завершен, если активен |
Пример выходной модели смотрите в Получение сервисного режима по идентификатору.
Коды ответа
Код | Описание |
---|---|
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 | Непредвиденная ошибка при обработке запроса |