Get Issues with Worklogs

Get Issues with Worklogs

This endpoint allows you to retrieve issues and their worklogs using the following parameters.

By default only “issue id” and worklogs are returned. If you need other issue fields, such as “summary” or custom fields, you have to specify “fields” parameter. Please note that, this will reduce the number of issues that can be returned significantly.

 

Arguments:

  • startDate- Start date in ISO date format. REQUIRED

  • endDate- End date in ISO date format. Required. REQUIRED

  • projectKeys - Key of projects to include in the report. Optional.

  • issueKeys - Key of issues to include in the report. Optional.

  • userAccountIds - Account Id of users to include in the report. Optional.

  • fields - By default only “id” of the issue is queried. If you need issue fields pass the required fields here. *navigable will return all navigable fields. You can also pass a comma seperated field ids, like customfield_10743,summary"

  • nextPageToken - Pass the value returned by the previous getWorklogs call to fetch the next page.

  • maxResults - Maximum number of issues to return.

Returns:

[PagedIssuesWithNextPageToken] - A page of issues including worklogs and some basic fields.

Example Query

query GetIssuesWithWorklogs { getIssuesWithWorklogs( parameters: { startDate: "2025-08-20" endDate: "2025-09-02" fields: "*navigable" maxResults: 2 } ) { ok nextPageToken isLast issues { id fields { worklog { worklogs { id issueId started created updated timeSpent timeSpentSeconds comment } } reporter { displayName } } key } } }

Example Response

{ "data": { "getIssuesWithWorklogs": { "ok": true, "nextPageToken": "EAIY88jk1ZAzIjN3b3JrbG9nRGF0ZT49MjAyNS0wOC0yMCBhbmQgd29ya2xvZ0RhdGU8PTIwMjUtMDktMDI=", "isLast": false, "issues": [ { "id": "11787", "fields": { "worklog": { "worklogs": [ { "id": "12380", "issueId": "11787", "started": "2025-08-22T12:13:00.000+0300", "created": "2025-08-22T12:15:13.885+0300", "updated": "2025-08-22T12:15:13.885+0300", "timeSpent": "2h", "timeSpentSeconds": 7200, "comment": "" }, { "id": "12381", "issueId": "11787", "started": "2025-08-25T12:13:00.000+0300", "created": "2025-08-22T12:15:16.530+0300", "updated": "2025-08-22T12:15:16.530+0300", "timeSpent": "2h", "timeSpentSeconds": 7200, "comment": "" }, { "id": "12382", "issueId": "11787", "started": "2025-08-26T12:13:00.000+0300", "created": "2025-08-22T12:15:19.321+0300", "updated": "2025-08-22T12:15:19.321+0300", "timeSpent": "2h", "timeSpentSeconds": 7200, "comment": "" } ] }, "reporter": { "displayName": "Gökçe Karaduman" } }, "key": "TP-5" }, { "id": "11782", "fields": { "worklog": { "worklogs": [ { "id": "12415", "issueId": "11782", "started": "2025-08-27T15:46:53.000+0300", "created": "2025-08-27T15:47:07.082+0300", "updated": "2025-08-27T15:47:07.082+0300", "timeSpent": "2h", "timeSpentSeconds": 7200, "comment": "" } ] }, "reporter": { "displayName": "Gökçe Karaduman" } }, "key": "TP-3" } ] } } }

Types

A page of issues including worklogs and some other issue fields.

As you can see from the schema definition. There is no fixed type for custom fields. Data returned by a custom fields has no specific format.

type PagedIssuesWithNextPageToken { ok: Boolean! nextPageToken: String isLast: Boolean issues: [Issue!]! errors: [Error] } type IssueFields { summary: String! issuetype: IssueType! assignee: User reporter: User worklog: PagedWorklogs components: [ProjectComponent!] fixVersions: [Version!] affectsVersions: [Version!] status: Status! project: Project! priority: Priority! parent: Parent } type Issue { id: String! key: String! self: String! fields: IssueFields! customFields: JSON } type PagedWorklogs { startAt: Int! maxResults: Int! total: Int! worklogs: [Worklog!]! } type Worklog { self: String id: String! issueId: String! started: DateTime! created: DateTime! updated: DateTime! timeSpent: String! timeSpentSeconds: Int! author: User! updateAuthor: User! comment: String account: WorklogAccount attributes: [WorklogAttribute!] } type WorklogAccount { id: String! name: String! } type WorklogAttribute { id: String! name: String! value: String! valueName: String }