HTTP API справочника задач
Назначение справочника и настройка исполнителя описаны в руководстве администратора.
Класс:
ru.bgcrm.core.task.struts.TaskAction
Создание задачи
Метод: createTask
url: /admin/task.do?action=createTask
Параметры уходят телом запроса: скрипт бывает длиннее, чем помещается в строку запроса.
| Название | Обязателен | Описание |
|---|---|---|
title |
Да |
Наименование задачи |
clazz |
Нет, если указан скрипт |
Класс обработчик задачи |
script |
Нет, если указан класс |
Скрипт |
{
"status": "ok",
"message": "",
"data": {
"task": {
"id": 1,
"title": "Название_задачи",
"clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
"script": null,
"enabled": true
}
},
"eventList": []
}
Редактирование задачи
Метод: updateTask
url: /admin/task.do?action=updateTask
Параметры уходят телом запроса, как и у создания.
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
title |
Да |
Наименование задачи |
clazz |
Нет, если указан скрипт |
Класс обработчик задачи |
script |
Нет, если указан класс |
Скрипт |
updateTask ничего не возвращает, поэтому под ключом task находится пустой объект:{
"status": "ok",
"message": "",
"data": {
"task": {}
},
"eventList": []
}
Выключение задачи
Метод: disableTask
url: /admin/task.do?action=disableTask&id=:id
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
Пример: /admin/task.do?action=disableTask&id=1
Включение задачи
Метод: enableTask
url: /admin/task.do?action=enableTask&id=:id
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
Пример: /admin/task.do?action=enableTask&id=1
Удаление задачи
Метод: deleteTask
url: /admin/task.do?action=deleteTask&id=:id
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
Пример: /admin/task.do?action=deleteTask&id=1
Данных в ответе нет. Если задача используется в правилах автоматизации или у неё остались невыполненные запуски, действие отвечает ошибкой и ничего не удаляет.
Откат изменения задачи
Метод: rollbackTask
url: /admin/task.do?action=rollbackTask&id=:id&recordId=:recordId
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
recordId |
Да |
ID последней записи истории по задаче |
Откатывает последнее действие: правку — возвратом полей к значениям до неё, удаление — восстановлением задачи под прежним id. Создание и восстановление не откатываются. Если после указанной записи появились новые, действие отвечает ошибкой.
Пример: /admin/task.do?action=rollbackTask&id=1&recordId=7
{
"status": "ok",
"message": "",
"data": {
"task": {
"id": 1,
"title": "Название_задачи",
"clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
"script": null,
"enabled": true
}
},
"eventList": []
}
Получение задачи по ID
Метод: getTaskById
url: /admin/task.do?action=getTaskById&id=:id
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
Пример: /admin/task.do?action=getTaskById&id=1
{
"status": "ok",
"message": "",
"data": {
"task": {
"id": 1,
"title": "Название_задачи",
"clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
"script": null,
"enabled": true
}
},
"eventList": []
}
Поиск задач
Метод: searchTasks
url: /admin/task.do?action=searchTasks&pageIndex=:pageIndex&pageSize=:pageSize&id=:id&filter=:filter&enabled=:enabled
Пример: /admin/task.do?action=searchTasks&pageIndex=1&pageSize=10&enabled=true
| Название | Обязателен | Описание |
|---|---|---|
id |
Нет |
ID задачи |
filter |
Нет |
Подстрока для поиска по наименованию, классу и скрипту |
enabled |
Нет |
Состояние задачи |
{
"status": "ok",
"message": "",
"data": {
"tasks": {
"page": {
"pageIndex": 1,
"pageSize": 10,
"pageCount": 1,
"recordCount": 1
},
"list": [
{
"id": 1,
"title": "Название_задачи",
"clazz": "ru.bgcrm.dyn.NotifyExecutorsTask",
"script": null,
"enabled": true
}
]
}
},
"eventList": []
}
Выборка приходит внутри ключа tasks: действие кладёт в ответ целиком объект SearchResult,
поэтому list и page вложены в него. Так же устроены ответы поиска использования и истории.
|
Поиск использования задачи
Метод: searchTaskUsage
url: /admin/task.do?action=searchTaskUsage&id=:id
| Название | Обязателен | Описание |
|---|---|---|
id |
Да |
ID задачи |
Возвращает типы процессов, в правилах автоматизации которых используется задача. Правила одного типа процесса сгруппированы в одну запись.
Пример: /admin/task.do?action=searchTaskUsage&id=1&pageIndex=1&pageSize=5
{
"status": "ok",
"message": "",
"data": {
"usages": {
"page": {
"pageIndex": 1,
"pageSize": 5,
"pageCount": 1,
"recordCount": 1
},
"list": [
{
"processTypeId": 11207,
"processTypeTitle": "Заявка ЮЛ",
"rules": [
{
"id": 235,
"title": "Создать задачу",
"enabled": true
}
]
}
]
}
},
"eventList": []
}
Поиск классов-обработчиков
Метод: searchTaskHandlers
url: /admin/task.do?action=searchTaskHandlers&filter=:filter
| Название | Обязателен | Описание |
|---|---|---|
filter |
Нет |
Подстрока в полном имени класса, без учёта регистра |
Отдаёт классы, пригодные в обработчики задачи: скомпилированные классы динамического кода,
реализующие ru.bgcrm.core.task.executor.TaskHandler. Классы из сборки в выборку не попадают —
их имя вводится в поле вручную.
Пример: /admin/task.do?action=searchTaskHandlers&filter=news
{
"status": "ok",
"message": "",
"data": {
"handlers": [
{
"name": "ru.bgcrm.dyn.ufanet.advertise.task.CreateLinkProcessTask",
"packageName": "ru.bgcrm.dyn.ufanet.advertise.task",
"simpleName": "CreateLinkProcessTask"
}
]
},
"eventList": []
}
Поиск истории изменений
Метод: searchTaskAudit
url: /admin/task.do?action=searchTaskAudit&id=:id&actions=:actions&deleted=:deleted
| Название | Обязателен | Описание |
|---|---|---|
id |
Нет |
ID задачи |
actions |
Нет |
Действия через запятую: |
deleted |
Нет |
Только удалённые задачи: последние записи удаления по задачам, которых нет в справочнике |
Одна выборка на всю историю: без фильтров отдаёт все записи, новые первыми.
Пример: /admin/task.do?action=searchTaskAudit&id=1&pageIndex=1&pageSize=10
{
"status": "ok",
"message": "",
"data": {
"auditRecords": {
"page": {
"pageIndex": 1,
"pageSize": 10,
"pageCount": 1,
"recordCount": 1
},
"list": [
{
"id": 7,
"taskId": 1,
"action": "update",
"actionTitle": "изменена",
"userId": 8379,
"userName": "Зарипов И. Р.",
"time": 1758000000000,
"title": "Название_задачи",
"changes": [
{
"field": "enabled",
"title": "Состояние",
"before": "включена",
"after": "выключена"
}
]
}
]
}
},
"eventList": []
}
time — метка времени в миллисекундах. У создания, удаления и восстановления в changes
лежит полный снимок полей задачи в after.
|