2013-03-21 3 views
4

JIRA의 REST API를 처음 접했습니다. 사용자가 문제에 소비 한 총 시간을 얻고 싶었습니다. https://jira.domain.com/rest/api/2/search?jql=assignee="my.name"을 사용해 보았는데 반환 된 JSON 응답에 timespent 필드가 표시되지만 의미가없는 값이 표시됩니다. 이 경우 timespent 필드에 62760이라고 표시됩니다. 문제가 발생한 실제 시간이 그보다 작은 경우, 검색은 전체 시간이 아닌 내게 보낸 총 시간을 반환합니다. 어떻게하면 내 시간을 보여줄 수 있을까요?사용자를 위해 문제에 소요 된 총 시간을 얻는 방법 JIRA REST API

편집 : 각 문제마다 다른 API 호출을 수행 할 필요없이 JQL에서이를 수행 할 수있는 방법이 있습니까?

답변

7

1 년 동안 늦었 음을 이해합니다 .--). 동일한 문제에 직면 할 수있는 다른 사용자를 돕기 위해 게시하십시오.

REST /rest/api/2/search?jql=assignee="my.name "은 다른 사용자의 작업 로그를 반환하며"my.name "사용자의 작업 로그를 생략 할 수 있습니다. JIRA에서는 문제에 대한 시간을보고하기 위해 양수인이 될 필요는 없습니다.

/rest/api/2/issue/ issue.key /worklog 

을 다음 worklog.author.name별로 필터링 worklogs을 반복 :

는 "사용자 JIRA REST API에 대한 문제에 소요 된 총 시간을"얻을 수있는 가장 쉬운 방법처럼 보이는 것은 사용하는 것입니다. api/2/issue/issue.key/worklog의 장점은 startAt 및 maxResults 페이지 매김을 사용하지 않고 모든 작업 로그를 반환한다는 것입니다. 적어도 로컬 개발 JIRA에서 하나의 이슈에 대해 약 1200 개의 작업 로그 레코드를 생성 한 것은 사실입니다. 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를 사용하여 문제의 집합에 대한 worklogs으로 활용하려면 다음 작업을하지만 당신은 sartAt과에서 maxResults이 방법에 대한 문서에 있기 때문에 당신의 JIRA 설치를 위해 그것을 확인해야 -20은 기간의 첫 번째 날짜이며, 프로젝트 및 기간 조건에 따라 필터링이 구체화됩니다. 이 방법은 페이지 매김을 사용하며 JIRA 측에서 구성된 것보다 큰 경우 전달하는 maxResults를 무시합니다. 또한 문제와 함께 반환 된 작업 로그에는 페이지 당 20 개의 레코드가 페이지됩니다. 그래서보고를 얻으려면 jql = call, 반환 된 문제에 대한 작업 로그를 반복합니다. issue.fields.worklog.maxResults < issue.fields.worklog.total 문제의 모든 작업 로그를 가져 오기 위해 issue/issue.key/worklog를 호출합니다. . 그리고 반드시 worklog.author.name 및 worklog.started 필드를 기반으로 필터링해야합니다.

+0

나는 비슷한 것을하고 있다고 생각합니다. –

+0

"/ rest/api/2/issue/TASC-1/worklog"와 함께 wworklog를 얻을 수 없으므로 jira API에서 변경된 사항이 있습니까? –

+0

변경된 사항이 없습니다. 그것은 나를 위해 작동합니다. 요청이 인증 되었습니까? –

관련 문제