API - Отчеты
Внимание
Для выполнения запроса к API необходима дополнительная авторизация.
Используйте в запросе заголовок Authorization: Bearer <персональный токен>
.
Шаблоны отчетов
Получение списка доступных пользователю шаблонов
GET /api/public/sm/v2/reports/templates
Параметры запроса
Название параметра | Тип параметра | Обязательный параметр | Значение по умолчанию | Описание параметра |
---|---|---|---|---|
page | integer | нет | null | Номер страницы |
perPage | integer | нет | null | Коли чество записей на одну страницу. Если -1 - будут возвращены все КЕ |
search | string | нет | null | Строка поиска |
sortCol | string | нет | null | Название поля, по которому выполняется сортировка |
sortDir | string | нет | null | Направление сортировки (asc/desc) |
skip | integer | нет | null | Количество записей, которое требуется пропустить |
Пример выходной модели
[
{
"id": 744,
"name": "TestReportMulti",
"description": null,
"type": "availability-multi",
"workGroup": {
"id": 490,
"name": "DIAD"
},
"reportCount": 1,
"lastReport": {
"id": "5dd2c63e-60c0-49af-8fde-dfac8d7784b7",
"name": "12.03.2024 17:16 TestReportMulti",
"description": "11.03.2024 00:00 - 12.03.2024 00:00",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-12T14:16:41.193456+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}
},
{
"id": 40,
"name": "DIAD-1",
"description": null,
"type": "availability-single",
"workGroup": {
"id": 490,
"name": "DIAD"
},
"reportCount": 2,
"lastReport": {
"id": "b9cd13db-e51f-45f1-965d-c61208bfb881",
"name": "12.03.2024 17:16 DIAD-1",
"description": "12.03.2024 00:00 - 12.03.2024 17:16",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-12T14:16:14.280912+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}
}
]
Атрибуты выходной модели шаблона
Атрибут | Тип | Описание |
---|---|---|
id | integer | Идентификатор шаблона |
name | string | Название шаблона |
description | string | Описание шаблона |
type | string | Тип шаблона |
workGroup | object | Модель рабочей группы, которой принадлежит шаблон |
reportCount | integer | Количество отчетов |
lastReport | object | Модель с информацией по последнему рассчитанному шаблону |
Коды ответа
Код | Описание |
---|---|
200 | Запрос успешно исполнен |
401 | Пользователь не авторизован |
500 | Непредвиденная ошибка при обработке запроса |
Получение статуса отчета по идентификатору
GET /api/public/sm/v2/reports/{reportId}
Параметры запроса
Параметр | Тип | Обязательный параметр | Значение по умолчанию | Описание |
---|---|---|---|---|
reportId | string | да | нет | Идентификатор отчета |
Пример выходной модели
{
"id": "71a45161-97af-4c0f-a59f-ae0146f3a46c",
"name": "13.03.2024 11:09 DIAD TestReportMulti",
"description": "12.03.2024 00:00 - 13.03.2024 00:00",
"error": null,
"status": "Ok",
"entityInfo": {
"createdAt": "2024-03-13T08:09:46.115926+00:00",
"createdBy": 90206,
"createdByName": "Getmanov Andrey",
"updatedAt": null,
"updatedBy": -1,
"updatedByName": null
}
}
Атрибуты выходной модели шаблона
Атрибут | Тип | Описание |
---|---|---|
id | string | Идентификатор отчета |
name | string | Название отчета |
description | string | Описание отчета |
error | string | Текст ошибки, если статус расчета не равен Ok |
status | string | Статус расчета отчета |
entityInfo | object | Информация о том, кто запустил расчет отчета |
Дополнительная информация по атрибутам
Возможные значения атрибута status
:
Unspecified
- не определенPending
- в ожидании расчетаOk
- рассчитан успешноError
- ошибка расчетаCalculating
- рассчитывается в текущий момент
Коды ответа
Код | Описание |
---|---|
200 | Запрос успешно исполнен |
400 | Неверный идентификатор отчета |
401 | Пользователь не авторизован |
404 | Отчет не найден |
500 | Непредвиденная ошибка при обработке запроса |
Отчеты о доступности системы
Запустить расчёт отчета о доступности
Отчёт может быть создан только по шаблону. У пользователей, запускающих расчет отчёта, должно быть право на чтение указанного шаблона.
Срок хранения отчета – одни сутки.
По истечению этого срока экспорт результатов расчета невозможен.
POST /api/public/plugins/availability-reports/v1/reports/single
Параметры запроса
Отсутствуют
Пример входной модели
{
"params": {
"rsmMapId": 0,
"configItemIds": [
0
],
"activityTimes": [
{
"days": [
"Su"
],
"from": "string",
"to": "string",
"applyHolidays": true,
"applyWorkingDays": true
}
],
"filters": [
{
"type": "Including",
"severities": [
0
],
"tagIds": [
0
],
"duration": {
"type": "GreaterThan",
"value": 0
}
}
],
"withMaintenance": true,
"recoveryTimeObjective": 0,
"meanTimeBetweenFailures": true,
"meanTimeToRestoreService": true,
"maxDowntime": true
},
"name": "string",
"description": "string",
"templateId": 0,
"range": {
"start": "2024-03-13T08:36:36.314Z",
"end": "2024-03-13T08:36:36.314Z"
},
"expirationTime": 0
}
Поля тела запроса
Название поля | Обязательное поле | Тип поля | Значение по умолчанию | Описание |
---|---|---|---|---|
params | нет | object | null | Параметры отчета. Если null , то берется из шаблона. |
name | нет | string | null | Название отчета. Если null , то берется из шаблона. |
description | нет | string | null | Описание отчета. Если null , то берется из шаблона. |
templateId | да | integer | нет | Идентификатор шаблона |
range | нет | object | null | Период расчета. Если null , то берется из шаблона. |
expirationTime | нет | integer | null | Время хранения отчёта в часах |
Поля объекта params
:
Название поля | Тип поля | Значение по умолчанию | Описание |
---|---|---|---|
rsmMapId | integer | null | Идентификатор карты РСМ. Если null , то берется из шаблона. |
configItemIds | integer[] | null | Список идентификаторов КЕ. Если null , то берется из шаблона. |
activityTimes | object | null | Список периодов активности. Если null , то берется из шаблона. |
filters | object | null | Фильтры сигналов. Если null , то берется из шаблона. |
withMaintenance | boolean | null | Учитывать сервисный режим. Если null , то берется из шаблона. |
recoveryTimeObjective | integer | null | RTO (максимальное время нахождения КЕ в проблемном статусе). Если null , то берется из шаблона. |
meanTimeBetweenFailures | boolean | null | Среднее время наработки на отказ. Если null , то берется из шаблона. |
meanTimeToRestoreService | boolean | null | Среднее время восстановления службы. Если null , то берется из шаблона. |
maxDowntime | boolean | null | Длительность периода максимального простоя. Если null , то берется из шаблона. |
Поля объекта activityTimes
:
Название поля | Тип поля | Значение по умолчанию | Описание |
---|---|---|---|
days | string[] | null | Дни недели [ Su, Mo, Tu, We, Th, Fr, Sa ] |
from | string | null | Дата начала периода |
to | string | null | Дата завершения периода |
applyHolidays | boolean | null | Включить праздники |
applyWorkingDays | boolean | null | Включить рабочие дни |
Поля объекта filters
:
Название поля | Тип поля | Значение по умолчанию | Описание |
---|---|---|---|
type | string[] | null | Тип фильтра Including или Excluding |
severities | integer[] | null | Критичность сигнала |
tagIds | integer[] | null | Идентификаторы тегов |
duration | object | null | Длительность сигнала |
Поля объекта duration
:
Название поля | Тип поля | Значение по умолчанию | Описание |
---|---|---|---|
type | string[] | null | Условие GreaterThan или LessThan |
value | integer[] | null | Длительность сигнала в секундах |
Пример выходной модели
При успешном исполнении запроса возвращается идентификатор отчета
{
"id": "8df89b87-50cb-4518-bd18-bef4c5aa672c"
}