Я понимаю, что опоздал на год :-). Публикация, чтобы помочь другим, кто может столкнуться с той же проблемой.
REST /rest/api/2/search?jql=assignee="my.name" вернет рабочие журналы других пользователей и может опустить рабочие журналы пользователей "my.name". В JIRA вам не нужно быть уполномоченным, чтобы сообщить время по проблеме.
Похоже, что самый простой способ получить «общее количество часов, потраченных на проблему для пользователя JIRA REST API», — это использовать:
/rest/api/2/issue/ issue.key /worklog
а затем перебирать рабочие журналы, фильтруя их по worklog.author.name. Хорошая сторона api/2/issue/issue.key/worklog заключается в том, что он возвращает все рабочие журналы без использования разбиения на страницы startAt и maxResults. По крайней мере, это верно для моей локальной разработки JIRA, где я создал около 1200 записей рабочего журнала для одной задачи. Но вам нужно проверить его для вашей установки JIRA, поскольку sartAt и maxResults находятся в документах для метода: https://docs.atlassian.com/jira/REST/latest/#d2e1411
Чтобы получить рабочие журналы для набора пользователей и проблем, которые я использую
/rest/api/2/search?jql=updated > 2014-01-20 and project in (MWC,MWCS,RND) and timespent > 0&fields=summary,worklog&maxResults=1000"
Где 2014-01-20 — первая дата в периоде, условия проекта и затраченного времени уточняют фильтрацию. Этот метод использует разбиение на страницы и игнорирует maxResults, которые вы передаете, если они больше, чем настроено на стороне JIRA. Кроме того, рабочие журналы, возвращаемые вместе с проблемами, разбиваются на страницы с 20 записями на страницу. Итак, чтобы получить отчет, я делаю вызов search?jql=, итерирую рабочие журналы для возвращенных задач, когда issue.fields.worklog.maxResults ‹ issue.fields.worklog.total я вызываю issue/ issue.key /worklog, чтобы получить все рабочие журналы для задачи. . И наверняка вам нужно фильтровать на основе полей worklog.author.name и worklog.started.
person
Volodymyr Krupach
schedule
26.01.2014