Создание задачи
Запрос
| Тип | Метод |
|---|---|
POST |
/report_tasks/create |
Описание: При выполнении запроса будет создана периодическая задача генерации отчета. Объекты связанных сущностей игнорируются в теле запроса. Метод изменяет поле task_id указанного отчета.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/report_tasks/create
Тело запроса:
| Параметр | Тип данных | Обязательность | Описание |
|---|---|---|---|
| interval | string |
Required | Интервал генерации отчета в формате cron |
| instance | string |
Required | Идентификатор инстанса, на котором должна быть выполнена генерация отчета, в формате uuid |
| report_id | string |
Required | Идентификатор отчета для генерации в формате uuid |
Пример тела запроса
{
"interval": "* 0 1 1 1",
"instance": "868cf2e9-bd6d-4bac-96ba-2b08120d8cf9",
"report_id": "5ed7905a-4735-4cf7-b1ab-521e066fb971"
}
Успешный ответ
Статус код: 201 – успешное добавление.
Формат: JSON
Тело ответа: модель периодической задачи генерации отчетов.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"interval": "* 0 1 1 1",
"instance": "868cf2e9-bd6d-4bac-96ba-2b08120d8cf9",
"report_id": "5ed7905a-4735-4cf7-b1ab-521e066fb971",
"report": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"config": {
"pages": [
[
{}
]
]
},
"settings": {
"general": {
"period": [
"2019-08-24T14:15:22Z"
],
"name_mask": "string"
},
"header": {
"show": true,
"text": "string",
"show_on_all_pages": true,
"color": "string",
"text_align": "right",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAA...",
"fit": "fit",
"image_align": "string"
},
"footer": {
"show": true,
"show_on_first_page": true,
"text": "string",
"color": "string",
"show_date": true,
"show_page_number": true,
"text_align": "right",
"date_align": "string",
"page_number_align": "string",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAA...",
"fit": "fit",
"image_align": "string"
},
"style": {
"font": "OpenSans-ExtraBoldItalic"
}
},
"is_system": false,
"category": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"parent_id": "string"
},
"dashboard": {
"id": "uuid",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"config": {
"grid": [
{}
],
"period": [
"now-1",
"now"
]
},
"owner": {
"id": "uuid",
"email": "string",
"first_name": "string",
"last_name": "string",
"username": "string"
},
"users": [
{
"id": "uuid",
"email": "string",
"first_name": "string",
"last_name": "string",
"username": "string"
}
],
"user_ids": [
"uuid"
],
"groups": [
{
"id": "uuid",
"name": "string",
"parent_group": "string",
"realm_id": "string",
"email": "string",
"phone_number": "string",
"leader_id": "string",
"accept_risk": true,
"visible_scan_schedules": true,
"stop_scans": true,
"edited_by": "string",
"user_ids": [
"uuid"
]
}
],
"group_ids": [
"uuid"
],
"widgets": [
{
"id": "uuid",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"config": {
"type": "string",
"settings": {
"kind": "histogram",
"base": {
"name": "Гистрограмма",
"showHeading": true,
"description": "string"
},
"legend": {
"placement": "string",
"show": true
},
"settings": {
"type": "bar",
"lineStyle": "linear",
"showDots": true,
"stack": true,
"theme": "string"
},
"mappings": {
"xAxis": {
"field": "string",
"customRange": true,
"customRangeValues": [
"string"
],
"useUnknownValues": true
},
"yAxis": {
"field": "string",
"groupingField": "string"
},
"normalizationStrategy": "fix"
}
},
"series": [
{
"name": "string",
"mode": "string",
"source": "string",
"period": [
"now-1",
"now"
],
"sql": "string",
"query": {
"dataset": "string",
"distinct": true,
"fields": [
{
"field": "string",
"alias": "string",
"format": "string",
"aggregation": {
"func": "string",
"distinct": true,
"args": [
"string"
]
}
}
],
"filters": [
{
"field": "string",
"negation": false,
"operator": "is",
"value": "string"
}
],
"group_by": [
"string"
],
"limit": 20,
"offset": 0,
"order_by": [
{
"direction": "asc",
"field": "string"
}
],
"interval": "1y"
}
}
]
},
"settings": {
"settings": {
"kind": "histogram",
"base": {
"name": "Гистрограмма",
"showHeading": true,
"description": "string"
},
"legend": {
"placement": "string",
"show": true
},
"settings": {
"type": "bar",
"showDots": true,
"text": "string",
"image": "string",
"fit": "string"
},
"mappings": {
"xAxis": {
"field": "string",
"customRange": true,
"customRangeValues": [
"string"
]
},
"yAxis": {
"field": "string"
},
"fields": [
{
"label": "string",
"key": "string"
}
],
"field": "string",
"dataSeries": "string"
}
},
"period": [
"now-1",
"now"
],
"series": [
{
"name": "string",
"mode": "string",
"source": "string",
"period": [
"now-1",
"now"
],
"sql": "string",
"query": {
"dataset": "string",
"distinct": true,
"fields": [
{
"field": "string",
"alias": "string",
"format": "string",
"aggregation": {
"func": "string",
"distinct": true,
"args": [
"string"
]
}
}
],
"filters": [
{
"field": "string",
"negation": false,
"operator": "is",
"value": "string"
}
],
"group_by": [
"string"
],
"limit": 20,
"offset": 0,
"order_by": [
{
"direction": "asc",
"field": "string"
}
],
"interval": "1y"
}
}
]
},
"dashboard_id": "uuid"
}
]
},
"owner": {
"id": "uuid",
"email": "string",
"first_name": "string",
"last_name": "string",
"username": "string"
},
"users": [
{
"id": "uuid",
"email": "string",
"first_name": "string",
"last_name": "string",
"username": "string"
}
],
"groups": [
{
"id": "uuid",
"name": "string",
"parent_group": "string",
"realm_id": "string",
"email": "string",
"phone_number": "string",
"leader_id": "string",
"accept_risk": true,
"visible_scan_schedules": true,
"stop_scans": true,
"edited_by": "string",
"user_ids": [
"uuid"
]
}
],
"task": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"interval": "* 0 1 1 1",
"instance": "868cf2e9-bd6d-4bac-96ba-2b08120d8cf9"
}
}
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
1. Bad Request2. missing uid header3. Pgr-User-Id should be uuid format4. missing report id5. report id should be uuid format6. missing instance for report generate task7. instance id should be uuid format8. missing mandatory field: interval9. invalid interval format |
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр 2. Не передан заголовок Pgr-User-ID 3. Недопустимый формат Pgr-User-ID 4. Не передан ID отчета 5. Недопустимый формат ID отчета 6. Не передан ID инстанса 7. Недопустимый формат ID инстанса 8. Поле interval не может быть пустым9. Недопустимый формат интервала |
404 |
report not found |
Отчет с переданным ID не найден |
500 |
Internal Server Error |
Другие ошибки при удалении объектов |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 404
{
"error": "Not Found",
"error_code": 404
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}