Sum story points from subtasks to epics in Jira (team-managed too)
Checked against Atlassian’s documentation on 3 October 2026.
You estimate stories, and sometimes their subtasks, in story points, and you want the total on the epic: how many points it holds and how many are done. It is one of the questions asked most often on Atlassian Community, in words like “sum up story points to an epic” and “when I update the story point in sub-task, I find that only the story point in user story is updated. The epic and initiative are not changed.” This page gives Jira’s own answer first, then the Automation rule that fills the gap and where it stops, then what Sumline does.
What Jira does by itself
- It does not add story points up. Jira’s Σ figures are time tracking values only; there is no Σ for story points. Atlassian’s request to sum story points or hours for an epic is marked “Not Being Considered” (JRACLOUD-90636, September 2024), and its answer to summing sub-task estimates into stories is an Automation rule (JRACLOUD-92573).
- There are two story-points fields. Company-managed spaces use “Story Points”; team-managed spaces use “Story point estimate” (Atlassian’s smart values reference). A rule or report built on one field reads nothing in the other kind of space, which is why so many answers that work in one space fail in another.
- Totals appear in two places. On a company-managed Scrum board, the Epic report lists an epic’s complete, incomplete and unestimated work by story points. On Jira Premium and Enterprise, Plans rolls estimates up through every level, inside the plan. Neither puts the number on the epic itself. More on both in Sumline, Plans and Σ fields.
The Automation rule
Atlassian publishes a rule that sums story points into the parent. Here it is for an epic, using the Parent field (which replaced Epic Link) and writing into a field of its own, so it never overwrites anyone’s estimate:
- Create a number field, say Story points rollup, and add it to your epics.
- Trigger: Field value changed → Story Points (in a team-managed space, Story point estimate).
- Condition: Work item fields condition → Issue Type is one of → Story, Task, Bug.
- Branch: Branch rule / related work items → Parent.
- Inside the branch, Lookup work items with the JQL
parent = {{issue.key}}. - Inside the branch, Edit work item → Story points rollup →
{{lookupIssues.Story Points.sum|0}}. In a team-managed space:{{lookupIssues.Story point estimate.sum|0}}. The|0is a default value: 0 when there is nothing to add, instead of an empty value.
If an epic has children in other spaces, make the rule multi-space or
global, so its lookup can see them. To check what the lookup found, add a
Log action after it with {{lookupIssues.size}} and read the rule’s
audit log.
Where it stops:
- It runs only when points change. Moving a story to another epic or deleting one changes no story points, so neither epic is recalculated. Epics whose children were estimated before the rule existed stay empty until a child’s points are edited; Atlassian’s own initiative version says the same. A second rule on “Field value changed → Parent”, or a nightly scheduled one, closes part of that gap.
- One level per rule. Subtask to story, story to epic and epic to initiative each need their own rule. Decide first which level holds the estimate: if a story and its subtasks both carry points, adding both levels counts the same work twice.
- One field per rule. A tree that spans company-managed and team-managed spaces needs both fields.
- A lookup returns at most 100 work items (Atlassian).
- Every run counts toward your site’s Automation usage.
- The value is a snapshot, as current as the last run.
With Sumline
Sumline is our app. It adds story points up without a rule or a field:
- Every level, from subtask to story, epic and initiative (initiatives need Jira Premium), with original estimate, time spent and remaining alongside, and children in other spaces included.
- The right field in each space, found automatically: “Story point estimate” in team-managed spaces, “Story Points” in company-managed ones, so a tree that spans both adds up correctly. See Team-managed and company-managed spaces.
- Each estimate counted once. A story estimated at 8 whose subtasks also add up to 8 counts as 8, not 16: one level counts, the subtasks by default, and the value set aside is listed.
- Unestimated work is named, never counted as zero.
- On every issue with children, in the Details column, as soon as it is installed, and in a table per space or across spaces. It computes the totals when you look, so a story moved to another epic counts under its new epic on the next open or Refresh.
What it does not do: Sumline only reads, so its totals are not a Jira field. You cannot search them with JQL, show them on a board card or use them in an Automation rule. How every number is worked out is in How the numbers are calculated.