我知道我迟到了一年:-)。发布以帮助可能面临同样问题的其他人。
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 是时间段中的第一个日期,项目和时间条件会优化过滤。此方法利用分页,如果它大于 JIRA 端配置的 maxResults,它将忽略您传递的 maxResults。与问题一起返回的工作日志也以每页 20 条记录进行分页。因此,为了获得报告,我进行 search?jql= 调用,迭代返回问题的工作日志,当 issue.fields.worklog.maxResults < issue.fields.worklog.total 我调用 issue/issue.key/worklog 以获取问题的所有工作日志. 当然,您需要根据 worklog.author.name 和 worklog.started 字段进行过滤。