Jira time tracking reports: what's built in and where it stops

What Jira's built-in time tracking reports cover, and where they stop: no cross-project totals, no date ranges, no per-user timesheet.

Jira ships time tracking reports, just not the one most people open Jira looking for. The built-in reports answer a project manager’s question: is this version on budget, original estimate against time spent, scoped to one project and usually one release. The report people actually want, a timesheet for one person across whatever they touched last month, Jira does not produce natively. You get there by exporting worklog data and totalling it elsewhere, or by running a tool that builds the timesheet for you.

I co-founded Planim Time, a desktop tracker that pushes worklogs to Jira, so I’ve watched a lot of people open Jira’s reports expecting a timesheet and find a budget report instead. These reports were built for a project manager asking “is this version on track”. They get opened by someone asking “what did I do last month”, and that mismatch is what sends people hunting for a report that isn’t there. This post walks what Jira gives you out of the box, where each report stops, and what closes the gap.

What Jira gives you out of the box

Jira has several surfaces for time data. Each is scoped narrowly, and knowing the scope is most of knowing which one to reach for.

The Time Tracking Report. This is the flagship, on company-managed projects, under the project’s Reports section. It’s organised around a fix version: pick one, and the report lists every issue in it with Original Estimate, Time Spent, and Remaining Estimate, plus an accuracy indicator showing whether each issue ran over or under. It answers one question cleanly. Did this release come in on the estimate. It is version-scoped and estimate-versus-actual by design, not a log of who did what when.

User Workload Report and Version Workload Report. Two more company-managed reports. User Workload sums the remaining estimate of unresolved issues assigned to one person, and it can do this either inside one project or across every project that person has open issues in. Version Workload breaks the outstanding work in a version down by assignee. Both look forward, not back: they’re about estimate still to burn, not hours already logged. They answer “how loaded is this person” rather than “what has this person done”.

The Worklog tab on the issue. Every issue has one. It lists each worklog entry: author, date started, duration, description. This is the only built-in surface that shows individual worklog rows instead of rolled-up totals, and it’s scoped to a single issue.

One scope note before the limits. Team-managed projects don’t have the Time Tracking, User Workload, or Version Workload reports at all. That classic report set is a company-managed feature. On a team-managed project the issue Worklog tab is most of what you get. Server and Data Center carry the same classic reports as company-managed Cloud, occasionally under a different menu label.

Where the built-in reports stop

Four walls people hit, in roughly the order they hit them.

No cross-project view of logged time. Every report above that touches time spent is scoped to one project, and the Time Tracking Report tighter still, to one version inside it. A developer who logged hours against four projects last sprint shows up in four separate reports, and Jira won’t add them together. The one report that does span projects is User Workload, and it spans them for remaining estimate only. There’s no equivalent cross-project view of hours actually logged.

No date range. The built-in reports are scoped by version, not by period. You can’t ask for “everything logged between the 1st and the 15th”. A fix version is a loose stand-in for a time window, but worklogs land on whatever date someone typed into the Date started field, which need not match the version at all. “Last month’s hours” is simply not a question the built-in reports accept.

Estimate-centric, not log-centric. The Time Tracking Report’s spine is Original Estimate, and its headline is accuracy. If an issue was never estimated it still appears, but the comparison the whole report is built around comes up blank. For a team that logs time and doesn’t estimate, and there are plenty, the flagship report mostly shows empty columns.

No per-person, per-period total. The combination people ask for most often, one person plus a date range plus hours summed, is exactly the one no built-in report produces. User Workload is the closest by shape, and it totals remaining estimate, not logged time.

JQL finds issues, not hours

The natural next move is JQL, and it gets you halfway. The worklogAuthor, worklogDate, and worklogComment fields let you find issues with matching worklogs: issues you logged against this week, say. But JQL filters issues, not worklog entries. A query returns the issues, not the individual logs underneath them, and there is no way to sum hours in JQL. It will tell you which twelve issues you touched last week and not how many hours across them. The mechanics of those worklog fields are covered in how to log work in Jira; the part that matters here is that JQL narrows the list of issues and something else still has to do the arithmetic.

Getting an actual timesheet

Once you accept that the built-in reports won’t hand you a timesheet, there are two routes.

Export and total it yourself. Pull the data out of Jira and sum it outside. A JQL issue search has an Export option, but exporting issues gives you the aggregate Time Spent per issue, not the individual worklog entries with their authors and dates. To get worklog rows, the per-person, per-day grain a timesheet needs, you read them through the Jira REST API and sum timeSpentSeconds yourself. Either way the report is assembled outside Jira, in a spreadsheet or a script, and it’s a recurring chore rather than a saved view.

Use a tool built across the gap. This is what the time-tracking add-ons exist for. Tempo, and the desktop trackers including Planim Time, keep their own worklog store alongside Jira’s. That’s what lets them do the things Jira’s native reports structurally can’t: one person across every project, an arbitrary date range, hours summed without a spreadsheet in the loop. If you’re choosing between approaches, the round-up of Jira time tracking methods lays out where each one fits.

Here’s the short version, by question:

What you’re askingBuilt-in surface
Did this release land on its estimate?Time Tracking Report
How loaded is this person right now?User Workload Report
Who logged what on this one issue?Worklog tab
How many hours did I log last month?None — export and sum
Time across all my projects?None — export, or a tracker

Jira’s reports aren’t broken. They’re built for the version-budget question and they answer it well. They were just never built for the timesheet question, and no amount of clicking through Reports turns one into the other.

Frequently asked questions

How do I get a time report by user in Jira?
There's no single built-in report for it. The User Workload Report shows one person's remaining estimate, not the hours they logged. For hours logged by a user over a date range, export worklogs through the REST API and sum them, or use a tool that builds per-user timesheets directly.
Can Jira show time logged across multiple projects?
Not in one built-in report. Every report that shows time spent is scoped to a single project, and the Time Tracking Report to a single version inside it. The User Workload Report does span projects, but it totals remaining estimate, not logged hours. A cross-project total of logged time has to be assembled by export or by an external tracker.
Does Jira have a timesheet?
There's no native timesheet view. The closest built-in surface is the issue Worklog tab, which lists entries for one issue. A timesheet — one person across a period and all their issues — comes from a third-party app or from exporting and summing worklogs yourself.
Why is my Jira Time Tracking Report empty?
Usually one of three causes. You're on a team-managed project, which doesn't have that report. You haven't selected a fix version, which the report is organised around. Or the issues in the version have no worklogs or no original estimates, so there's nothing for it to compare. Check the project type first.
Can I filter the Jira Time Tracking Report by date range?
No. The built-in Time Tracking Report is scoped by fix version, not by date. There's no native control to ask for hours logged between two dates. The closest workarounds are exporting worklogs through the REST API and filtering by worklogDate, or using a third-party tracker that builds date-range views directly.