Перейти к основному содержимому
Версия: 8.4

API - Сервисные режимы

Внимание

Для выполнения запроса к API необходима дополнительная авторизация.


Используйте в запросе заголовок Authorization: Bearer <персональный токен>.


Где получить персональный токен?

Получение списка всех сервисных режимов

Поисковая фраза ?search= работает для:

  • Идентификатора сервисного режима.
  • Идентификатора КЕ, которая входит в область действия сервисного режима.
  • Наименования сервисного режима.
  • Ключа / значения набора меток.

Сортировка работает для всех полей кроме:

  • Списка КЕ, которые попадают под область действия сервисного режима.
  • Словаря меток.

Сервисный режим доступен пользователю, если хоть одна КЕ из запрошенного режима доступна.

GET /api/public/sm/v1/rsm-maintenance

Параметры запроса

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнет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}

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
idintegerданет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

Параметры запроса

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнетnullКоличество записей, которое требуется пропустить

Атрибуты модели в теле запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
idsinteger []нетnullСписок идентификаторов сервисных режимов
dateStartobjectнетnullУсловия фильтрации сервисных режимов по дате начала сервисного режима
dateEndobjectнетnullУсловия фильтрации сервисных режимов по дате конца сервисного режима
configItemIdsinteger []нет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

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
batchValidateboolнетfalseФлаг проверки прав установки сервисного режима для всех указанных КЕ

Флаг проверки прав установки сервисного режима для всех указанных КЕ:

  • false – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
  • true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан.

Атрибуты модели в теле запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
titlestringнетnullНазвание сервисного режима
dateStartstringданетВремя начала действия сервисного режима
dateEndstringданетВремя окончания действия сервисного режима
configItemsobject []данетОбласть действия сервисного режима – параметрический фильтр по КЕ
configItems.idintegerданетИдентификатор КЕ
configItems.scopestringнетCiОбласть параметрического фильтра.
configItems.depthintegerнет0Длинна ребер графа подчиненных КЕ.
labelsobjectнет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}

Параметры запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
idintegerданетID запроса на обслуживание
batchValidatebooleanнетfalseФлаг проверки прав установки сервисного режима для всех указанных КЕ

Флаг проверки прав установки сервисного режима для всех указанных КЕ:

  • false – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
  • true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан.

Атрибуты модели в теле запроса

ПараметрТипОбязательный параметрЗначение по умолчаниюОписание
titlestringнетnullНазвание сервисного режима
dateStartstringданетВремя начала действия сервисного режима
dateEndstringданетВремя окончания действия сервисного режима
configItemsobject []данетОбласть действия сервисного режима – параметрический фильтр по КЕ
configItems.idintegerданетИдентификатор КЕ
configItems.scopestringнетCiОбласть параметрического фильтра.
configItems.depthintegerнет0Длинна ребер графа подчиненных КЕ.
labelsobjectнетnullОбъект с перечислением пользовательских меток
cancelbooleanнет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Непредвиденная ошибка при обработке запроса