Redmine API получить отчет о записях времени - PullRequest
0 голосов
/ 09 января 2020

Redmine API может обслуживать записи времени в JSON.

$ curl -X GET \
  'https://my_redmine/time_entries.json' \
  -H 'X-Redmine-API-Key: my_api_key'

{"time_entries":[{"id":14212,"project":{"id":73,"name":"Project 1"},"issue":{"id":5488},"user":{"id":5,"name":"John SMITH"},"activity":{"id":8,"name":"Grouillot"},"hours":8.0,"comments":"dsgsdsdh","spent_on":"2020-03-09","created_on":"2020-01-07T14:03:58Z","updated_on":"2020-01-07T14:33:52Z", ...

Теперь мне нужно их агрегировать, и я бы предпочел использовать встроенную функцию агрегирования report , чем делать он сам после получения всех необходимых записей времени.

Допустим, у нас есть эти записи времени

+------+----------+-------+------------+
| user | issue_id | hours | spent_on   |
+------+----------+-------+------------+
|    1 |       42 |     4 | 2020-01-01 |
|    1 |       43 |     4 | 2020-01-01 |
|    2 |       42 |     8 | 2020-01-01 |
+------+----------+-------+------------+

Если я хочу, чтобы они были агрегированы пользователем, вот что нужно чтобы получить

+------+-------+------------+
| user | hours | spent_on   |
+------+-------+------------+
|    1 |     8 | 2020-01-01 |
|    2 |     8 | 2020-01-01 |
+------+-------+------------+

В текущем REST API , похоже, нет никакого способа сделать это

Но так как отчет может быть сгенерирован CSV с таким запросом

https://my_redmine/time_entries/report.csv?columns=day&criteria%5B%5D=user

Я наивно, хотя мы могли бы использовать его как

$ curl -X GET \
  'https://my_redmine/time_entries/report.json?columns=day&criteria%5B%5D=user' \
  -H 'Accept: application/json' \
  -H 'X-Redmine-API-Key: my_api_key'

Но не повезло, он возвращает перенаправление на HTML форму входа.
Даже получение CSV с ключом API или базовым c auth не представляется возможным.

Кто-нибудь мог бы иметь представление о получении записей времени, агрегированных с REST? HTTP-запрос?

...