Daylight
All articles

Jira time tracking guides

How to Export Jira Worklogs by Person and Date

By Daylight team ·

To export Jira time by person and date, you need one row for each worklog. Each worklog records its issue, the person who logged it, its start time, and its duration in seconds. The Jira Cloud REST API for issue worklogs returns those rows.

Atlassian's current help pages say “work item” and “space” where the API says “issue” and “project.” This article uses the API terms. The JQL field reference says that existing queries with the old terms still work.

Issue totals combine people and dates

Atlassian's export documentation lists time tracking fields for XML exports, such as timespent and aggregatetimespent. Both fields hold a total for the issue. The aggregate field also includes time from its sub-tasks.

In the fictional sample below, ACME-101 has 4.50 hours. Three people logged that time in four worklogs on four different days. A billing period that ends on October 15 needs 3.75 of those hours, and the issue total cannot split them.

Export worklogs with the Jira REST API

A script or an integration tool can do these steps. Use an account with the same project access as the person who reviews the hours.

  1. Choose the billing period and one time zone for its dates.
  2. Search for issues with GET /rest/api/3/search/jql and a query such as project = ACME AND worklogDate >= "2026-10-11" AND worklogDate <= "2026-10-17".
  3. Request the next page with nextPageToken until a response has no token.
  4. For each issue, request GET /rest/api/3/issue/{issueIdOrKey}/worklog.
  5. Set startedAfter and startedBefore to the period limits, as Unix times in milliseconds.
  6. If an issue has more worklogs than one page holds, page through them with startAt and maxResults.
  7. From each worklog, keep author.accountId, author.displayName, started, timeSpentSeconds, and the issue key.
  8. Convert started to the period time zone. Then remove the rows outside the period.
  9. Divide timeSpentSeconds by 3,600 to get decimal hours.

The query in step 2 adds one day before and after the period, so it also finds worklogs near midnight.

Group the rows by author.accountId. The worklog API reference describes the account ID as unique across Atlassian products. Depending on a person's privacy settings, Jira can return a different display name.

Permissions and search limits

The worklog API returns worklogs only from projects and issues that your account can see. Restricted worklogs also require membership in their group or project role. If your account has narrower access than the person who reviews the hours, your totals come out lower.

Atlassian's JQL field reference says that JQL searches only the most recent worklogs on an issue with more than 1,000. Add any such issue to the export by its key.

Step 2 uses the enhanced search endpoint. The issue search reference says that Atlassian is removing the older GET /rest/api/3/search endpoint.

Reconcile the sample CSV before you bill

Download the fictional sample CSV. It has 12 worklogs from three fictional people on two fictional client projects, ACME and NOVA. The period runs from Monday, October 12, to Friday, October 16, 2026, in America/Edmonton.

The 12 rows add up to 63,000 seconds, or 17.50 hours.

PersonACMENOVATotal
Ana Ruiz3.501.755.25
Ben Okafor3.753.257.00
Chloe Martin2.752.505.25
Total10.007.5017.50

The date totals depend on the time zone that you choose in step 1.

Date in 2026Hours by Edmonton dateHours by UTC date
Oct 124.254.25
Oct 134.254.25
Oct 143.503.50
Oct 152.251.75
Oct 163.253.75
Total17.5017.50

Ana started worklog 10009 at 22:30 on October 15, Edmonton time, which is 04:30 on October 16 in UTC. If you group by UTC date, you count its 0.50 hours on October 16. The weekly total stays at 17.50 hours. The October 15 total decreases by 0.50 hours, and the October 16 total increases by the same amount.

Before you send hours to a client, make sure that these statements are true for your export:

  • The person, project, and date totals each equal the grand total.
  • Each worklog ID appears once.
  • Each date falls inside the billing period, in the time zone from step 1.
  • The hours in each row equal the seconds divided by 3,600.

What Daylight exports today

Daylight saves time entries as native Jira worklogs. The API steps above return those worklogs with the rest of your Jira time. Daylight writes each note into the worklog comment. Client accounts and entry field values stay in Daylight's app metadata, which the FAQ describes as separate from the worklogs.

In Daylight's Reports tab, Export entries (CSV) gives one row for each of your own worklogs. Each row has the date, issue, hours, and description. The file also has the client account and one column for each entry field. It covers the signed-in person only, so it has no person column.

Approvers and admins can select Export team (CSV) on the Team tab. That file has hours by person and project for This month or Last month, without dates. The reports guide describes both exports.

Daylight has no team export with one row per person and date. For that file, use the API steps above. Then compare each person's hours on each project with the team export for the same calendar month. Select All logged time first, because Submitted mode includes only submitted and approved timesheets.

This walkthrough uses Atlassian's published documentation and Daylight's help pages and product source, reviewed on October 23, 2026. It does not report a live Jira trial or a customer result.

Inspect the sample report to compare Daylight's issue-level CSV with the worklog rows above.