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"}}]}'
Ответ на запрос из примера #1
{
  "reply": [
    {
      "method": "TaskReportGenerate",
      "result": [
        {
          "task_ids_in_process": [
            2213
          ],
          "format": "JSON"
        }
      ]
    }
  ]
}
Ответ на запрос из примера #2
{
  "reply": [
    {
      "method": "TaskReportGenerate",
      "result": [
        {
          "task_ids_in_process": [
            2213,
            2222
          ],
          "format": "JSON"
        }
      ]
    }
  ]
}
Ответ на запрос из примера #3
{
  "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"
      ]
    }
  ]
}