Задачи

Получение списка задач

Описание

Возвращает список задач сервера RuDesktop. Поддерживается постраничная навигация и фильтрация

Запрос

GET /automation/api/job/

Пример

curl --header 'Authorization: Token [TOKEN]' --location 'https://[SERVER_ADDR]/automation/api/job/'

Получение информации о задаче

Описание

Возвращает информацию о задаче по её идентификатору

Запрос

GET /automation/api/job/{id}/

Параметры

  • id — идентификатор задачи

Пример

curl --header 'Authorization: Token [TOKEN]' --location 'https://[SERVER_ADDR]/automation/api/job/123/'

Получение статуса задачи

Описание

Возвращает текущий статус задачи по её идентификатору в текстовом виде

Запрос

GET /automation/api/job/{id}/status/

Параметры

  • id — идентификатор задачи

Пример

curl --header 'Authorization: Token [TOKEN]' --location 'https://[SERVER_ADDR]/automation/api/job/123/status/'

Создание задачи

Описание

Создаёт новую задачу. В peers передаются имена хостов (hostname) или IP-адреса устройств. Должна быть указана хотя бы одна политика (policies) или хотя бы один отчёт (reports); при наличии отчётов обязательно нужно указать форматы отчётов (report_formats)

Запрос

POST /automation/api/job/

Параметры

  • name — имя задачи (обязательно)

  • params — расписание выполнения в формате RFC 5545 (RRULE)

  • enabled — задача активна (true/false)

  • run_on_start — запускать при включении устройства (true/false)

  • groups — список идентификаторов статических групп

  • dynamic_groups — список идентификаторов динамических групп

  • peers — список имён хостов или IP-адресов устройств

  • policies — список идентификаторов политик

  • reports — список идентификаторов отчётов

  • report_formats — список форматов отчётов (например, pdf, xlsx, csv, html)

Пример

curl --location --request POST 'https://[SERVER_ADDR]/automation/api/job/' \
--header 'Authorization: Token [TOKEN]' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Название задачи",
    "enabled": true,
    "run_on_start": true,
    "groups": [ 1 ],
    "peers": [ "host1", "host2" ],
    "policies": [ 1 ],
    "dynamic_groups": [],
    "reports": [],
    "report_formats": []
}'

Обновление задачи (PUT)

Описание

Полностью обновляет данные задачи с указанным идентификатором. В теле запроса передаются все параметры задачи

Примечание

Убедитесь, что вы указываете все поля корректно — неверный формат данных приведёт к ошибке

Запрос

PUT /automation/api/job/{id}/

Параметры

  • id — идентификатор задачи

Пример

curl --location --request PUT 'https://[SERVER_ADDR]/automation/api/job/123/' \
--header 'Authorization: Token [TOKEN]' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Название задачи",
    "enabled": true,
    "run_on_start": true,
    "groups": [ 1 ],
    "peers": [ "host1", "host2" ],
    "policies": [ 1 ],
    "dynamic_groups": [],
    "reports": [],
    "report_formats": []
}'

Обновление задачи (PATCH)

Описание

Частично обновляет данные задачи с указанным идентификатором. В теле запроса передаются только те параметры, которые требуется изменить

Запрос

PATCH /automation/api/job/{id}/

Параметры

  • id — идентификатор задачи

Пример

curl --location --request PATCH 'https://[SERVER_ADDR]/automation/api/job/123/' \
--header 'Authorization: Token [TOKEN]' \
--header 'Content-Type: application/json' \
--data '{
    "enabled": false
}'

Остановка задач

Описание

Останавливает выполнение задач по списку их идентификаторов. Можно передать одну или несколько задач за один запрос

Примечание

Остановка применяется только к задачам, которые в данный момент выполняются. Задачи в очереди или уже завершённые не затрагиваются

Запрос

POST /automation/api/stop_job/

Параметры

  • obj_id — список идентификаторов задач для остановки (обязательно, минимум одна задача)

Пример

curl --location --request POST 'https://[SERVER_ADDR]/automation/api/stop_job/' \
--header 'Authorization: Token [TOKEN]' \
--header 'Content-Type: application/json' \
--data '{
    "obj_id": [ 123, 124 ]
}'

Удаление задачи

Описание

Удаляет задачу с указанным идентификатором

Запрос

DELETE /automation/api/job/{id}/

Параметры

  • id — идентификатор задачи

Пример

curl --location --request DELETE 'https://[SERVER_ADDR]/automation/api/job/123/' \
--header 'Authorization: Token [TOKEN]'