Brasscog

How to Roll Up Logged Time and Estimates Into a Field You Can Filter On

Time tracking has the same hole as story points: Jira logs time per issue, but nothing adds it up the hierarchy into a field you can search, filter or put on a board. The built-in Time Spent field only reflects work logged directly on that issue — not its children — and there's no built-in field for a rolled-up original estimate either.

The free way: Automation, with a catch time doesn't share with story points

Time is stored in seconds, and the built-in Time Spent field isn't safe to overwrite with an Edit issue field action the way Story Points is — the safer pattern is a custom Number field (e.g. "Rollup: Hours") that you write into, leaving Jira's own time tracking untouched.

  1. Trigger: Work logged on the child issue (or value changed if you're rolling up estimates instead).
  2. Action: Lookup issues — JQL parent = {{issue.key}}, or "Epic Link" = {{issue.key}} one level up for company-managed projects.
  3. Action: Edit issue field on your custom Hours field with {{lookupIssues.timespent.sum / 3600}}. Jira stores time tracking in seconds (smart values reference), so dividing by 3,600 converts the sum to hours.
  4. Repeat one level up if the epic should carry the total too, chaining the rules the same way as in summing story points across a hierarchy.

For original estimate instead of logged time, swap timespent for timeoriginalestimate in the smart value — same seconds-to-hours division.

Where it gets fragile

When to stop maintaining rules by hand

The rules above are free and fine for one or two fields on a small hierarchy. Once you're rolling up several fields (hours, original estimate, a budget field of your own), chaining rules across more than two levels, or need issues without children to carry their own value instead of a blank, a dedicated rollup app removes the maintenance. TreeTotals rolls up both story points and time out of the box, always in hours, and lets you add rollups for any numeric field you track — without a rule to write or a unit to get wrong.