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

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

Внимание

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


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


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

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

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

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

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

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

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

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

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

ПараметрТипТребуетсяОписание
sortColstringнетНазвание колонки для сортировки данных
sortDirstringнетЗначения: asc / desc – направление сортировки данных
pageintнетНомер страницы с результатами
perPageintнетКоличество результатов на странице. По умолчанию – 1000. Чтобы получить все записи требуется передать значение -1
searchstringнетПоисковая фраза

Пример выходной модели

[
{
"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}

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

ПараметрТипТребуетсяОписание
idlongда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

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

ПараметрТипТребуетсяОписание
sortColstringнетНазвание колонки для сортировки данных
sortDirstringнетЗначения: asс / desc – направление сортировки данных
pageintнетНомер страницы с результатами
perPageintнетКоличество результатов на странице. По умолчанию – 1000. Чтобы получить все записи требуется передать значение -1
searchstringнетПоисковая фраза

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

ПараметрТипТребуетсяОписание
idslong[]нетСписок идентификаторов сервисных режимов
dateStartDateTimeFilterнетУсловия фильтрации сервисных режимов по дате начала сервисного режима
dateEndDateTimeFilterнетУсловия фильтрации сервисных режимов по дате конца сервисного режима
configItemIdslong[]нетСписок идентификаторов КЕ, для которых требуется получить сервисные режимы

Внутри массива конкретного поля список объединяется через логическое ИЛИ. Пример для 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 (по умолчанию) – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан

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

ПараметрТипТребуетсяОписание
titlestringнетНазвание сервисного режима
dateStartDateTimeдаУсловия фильтрации сервисных режимов по дате начала сервисного режима.

Пример: “2020-03-26T10:56:17+03:00“
dateEndDateTimeдаУсловия фильтрации сервисных режимов по дате конца сервисного режима
configItemscustomнетОбласть действия сервисного режима – параметрический фильтр по КЕ
configItems:idlongдаИдентификатор КЕ
configItems:scopestringдаОбласть параметрического фильтра. Принимает значения:
Ci – только выбранная КЕ
CiAndChildren – выбранная КЕ и подчиненные КЕ
configItems:depthintнетДлинна ребер графа подчиненных КЕ. По умолчанию -1 – все подчиненные КЕ
labelscustom 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}

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

ПараметрТипТребуетсяОписание
idlongдаID запроса на обслуживание
batchValidateboolнетФлаг проверки прав установки сервисного режима для всех указанных КЕ.
false (по умолчанию) – будет установлен сервисный режим только для тех КЕ, которые зарегистрированы в системе и доступны пользователю. Остальные заданные КЕ будут проигнорированы.
true – будет выполнена проверка для всех КЕ на то, что они зарегистрированы в системе и доступны пользователю на установку сервисного режима. Если проверка не прошла, то сервисный режим не будет создан

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

ПараметрТипТребуетсяОписание
titlestringнетНазвание сервисного режима
dateStartDateTimeдаУсловия фильтрации сервисных режимов по дате начала сервисного режима.
Пример: “2021-07-09T10:56:17+03:00“
dateEndDateTimeдаУсловия фильтрации сервисных режимов по дате конца сервисного режима
configItemscustomнетОбласть действия сервисного режима – параметрический фильтр по КЕ
configItems:idlongдаИдентификатор КЕ
configItems:scopestringдаОбласть параметрического фильтра. Принимает значения:
Ci – только выбранная КЕ
CiAndChildren – выбранная КЕ и подчиненные КЕ
configItems:depthintнетДлинна ребер графа подчиненных КЕ. По умолчанию -1 – все подчиненные КЕ
labelscustom objectнетОбъект с перечислением метод пользователя в формате:
{
"x1": "y1",
"x2": "y2"
}
cancelboolнет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Непредвиденная ошибка при обработке запроса