4.3.11. TaskReportGenerate¶
Описание¶
Метод вызывает процесс создания файла с отчетом для завершенной задачи.
Внимание
Система автоматически формирует отчеты только для задач со статусом
Completed. Для задач со статусамиRejected,CanceledилиStalledсоздание отчетов не предусмотрено;Перед формированием отчета убедитесь, что задача имеет статус
Completed. Для проверки воспользуйтесь методом TaskStatus или TaskReport;При переходе задачи в статус
Completedсистема автоматически генерирует отчет в форматеPDF(по умолчанию). Доступные форматы для автоматической генерации:CSV,JSON,PDF. Вы можете изменить формат по умолчанию или отключить автогенерацию в Настройках проекта ➝ в блоке Формирование отчетов;Метод TaskReportGenerate можно использовать, если вам понадобился отчет в формате, отличном от стандартного (например,
JSONилиCSVвместоPDF).
Запрос¶
{
"user_id":(number),
"methods":[
{
"method":"TaskReportGenerate",
"params":{
"project_id":(number),
"task_ids":' id1 | [id1,id2] | "*" ',
"report_format":(string)
}
}
]
}
где:
user_id— целое число, идентификатор пользователя;project_id— целое число, идентификатор проекта пользователя;task_ids— идентификаторы задач, поле может задаваться в одном из следующих форматов:id1— целое число, идентификатор задачи,[id1,id2]— массив целых чисел, идентификаторы задач,"*"— строка, символ «звездочки», запрос для всех завершенных задач.
report_format— строка, определяет формат файла отчета. Список форматов:CSV,JSON,PDF.
Ответ¶
{
"reply":[
{
"method":"TaskReportGenerate",
"result":[
{
"task_ids_in_process":[],
"format":(string)
}
],
"errors":[(string)]
}
]
}
где:
task_ids_in_process— массив целых чисел, идентификаторы задач;format— строка, определяет формат файла отчета. Список форматов:CSV,JSON,PDF;errors— массив строк, возвращает перечень ошибок.
Пример¶
cURL¶#1. Запрос отчета для одной задачи.
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskReportGenerate","params":{"project_id":2,"task_ids":2213,"report_format":"JSON"}}]}'
#2. Запрос отчета для двух задач с task_id 2213, 2222, 2288. Для третьей задачи задано заведомо несуществующее значения в поле task_ids.
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskReportGenerate","params":{"project_id":2,"task_ids":[2213,2222,2288]"report_format":"JSON"}}]}'
#3. Запрос отчета для массива задач с task_id: 2213, 2222, 2288, 2289, 2290. Пример демонстрирует возможные значения поля errors: несуществующая задача (2288); задача, запущенная, но еще не завершенная (2289); задача с уже готовым отчетом (2290).
curl http://172.16.1.41/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":1,"methods":[{"method":"TaskReportGenerate","params":{"project_id":2,"task_ids":[2213,2222,2288,2289,2290],"report_format":"JSON"}}]}'
{
"reply": [
{
"method": "TaskReportGenerate",
"result": [
{
"task_ids_in_process": [
2213
],
"format": "JSON"
}
]
}
]
}
{
"reply": [
{
"method": "TaskReportGenerate",
"result": [
{
"task_ids_in_process": [
2213,
2222
],
"format": "JSON"
}
]
}
]
}
{
"reply": [
{
"method": "TaskReportGenerate",
"result": [
{
"task_ids_in_process": [
2213,
2222
],
"format": "JSON"
}
],
"errors": [
"Cannot generate a report for tasks that are incomplete or do not exist: 2288, 2289",
"The report has already been generated or is currently being generated for these tasks: 2290"
]
}
]
}