Epic Rollup for Jira
Live epic progress in Jira: issue counts, story points, logged and remaining time, searchable in JQL and on a dashboard gadget. Works in team-managed and company-managed projects.
Get started
No setup is required to see progress on an epic.
- Install the app from the Atlassian Marketplace.
- Open any epic. The rollup panel appears automatically in the right-hand column.
- Even before you open it, the panel's header shows percent done as soon as the page loads (while searchable totals are turned on — see "Admin settings").
- Select the header to open the panel for the full breakdown.
Epic panel
The panel only appears on epics, not on other work item types. It's closed by default. The collapsed header shows a percentage as soon as the page loads, without a click.
Opened, the panel shows:
- A progress bar, and percent done by issue count and by story points
- Story points: total, done and remaining
- Original estimate, logged time and remaining time
- Number of child issues per status category (to do, in progress, done)
Select Show child issues to open the full list in a dialog: key, summary, status, points and time for each child. The list can be sorted and filtered by status category, and selecting a row opens that issue.
Honest about access.The panel only ever shows content for issues you can see. If the epic has more child issues than you have access to, the panel tells you how many are hidden — it never shows a wrong number without explanation, and it never shows a generic error. If a real Jira API error happens, the panel shows the status code and a "Try again" button.
Numbers included
- Child issues in a different project are included, as long as it's a company-managed project (Jira doesn't allow a team-managed epic to have children in another project).
- A child issue's subtasks are rolled into that child, then into the epic, so they're only counted once.
- Time on the epic itself is included once you log it directly on the epic.
- Only remaining time on issues that aren't done counts toward the epic's remaining time.
- "Done" means the issue's status category is Done.
Known limitation:a subtask placed directly under an epic (not under a story) is not included in the time totals. Jira's own aggregate time fields are used to avoid double-counting a child's time, and that trade-off means a subtask directly under the epic doesn't get picked up separately. This is rare, since subtasks normally sit under a story.
Known limitation:a child issue's remaining time can include remaining time on that child's own already-done subtasks, because Jira's aggregate field for remaining time includes it.
JQL fields
While searchable totals are turned on (see "Admin settings"), these fields work in JQL and in issue search:
| Field | What it is |
|---|---|
| epicProgress | Percent done, by issue count |
| epicPointsProgress | Percent done, by story points |
| epicPointsTotal | Total story points |
| epicPointsRemaining | Story points remaining |
| epicTimeSpent | Time logged |
| epicTimeRemaining | Time remaining |
| epicChildCount | Number of child issues |
| epicUpdated | When the totals were last updated |
These fields only exist on epics, and only contain numbers and a date — never issue keys, titles or names.
Dashboard gadget
Add "Epic rollup" to a dashboard.
Edit view:
- Source: projects, a board, or a JQL query
- Team: filter to one Atlassian team, or all teams
- Epics: open, done, or all
- Refresh: how often the gadget reloads, in minutes
View:
- A sortable table (epic, progress, points, logged, remaining), with open and done epics grouped separately
- Or a stacked bar chart, by issue count or by story points, showing done / in progress / to do per epic
While searchable totals are on, the gadget reads the numbers from the epic property with a single search, regardless of how many epics are shown. If searchable totals are turned off, the gadget calculates each epic live instead (up to 5 at a time), which is slower with many epics.
Known limitation:the team filter lives in the gadget's view, not its saved configuration, so it resets when the dashboard is reloaded.
Known limitation: in the narrowest column width, a table header can wrap in the middle of a word.
Admin settings
Go to Settings (⚙) > Apps > Epic rollup.
Story points field per project.The app finds the story points field automatically ("Story point estimate" for team-managed projects, "Story Points" for company-managed projects). Override it per project only if yours uses a different field.
Make epic totals searchable in JQL.This writes each epic's totals (numbers and a date only) to the epic as a property, so they can be searched in JQL and loaded quickly by the gadget.
Trade-off, please read: these totals are calculated for everychild issue, using the app's own access rather than the viewer's. That means the count and sums on an epic can reflect issues that a particular user cannot open — they will only ever see the number, never the issue's content. This is documented in our privacy policy. Turning this off removes the numbers from every epic (a background job cleans them up), and the gadget then calculates each epic live instead.
Show time logged per person on epics.Off by default, and admin-only. When you turn it on, you'll see a notice that turning it on is your responsibility: you need to inform your employees and assess whether this is lawful in your organisation, including any local employment or data protection rules on monitoring staff. The numbers are calculated in your browser as the logged-in user and are never stored by the app, never ranked, never compared across epics, never exported, and never available in the gadget or JQL.
Recalculate all epics. Rebuilds the searchable totals for every epic in the background.
Permissions
| Permission | Why |
|---|---|
| Read work items | Search an epic's child issues, read their status, story points, parent, team and time fields, and read worklogs for the optional per-person time view |
| Write work items | Write and remove the numbers-only rollup on epics, so totals can be searched in JQL |
| App storage | Store your admin settings |
| Read boards (Jira Software) | Dashboard gadget source "board": list the boards you can choose from |
| Read projects | Required together with the boards permission to list boards |
| Read epics (Jira Software) | Dashboard gadget source "board": list the epics on the board you choose |
The app sends no data outside Atlassian. See our privacy policy.
Known limitations
- The panel is closed by default. Percent done still shows in the issue header without a click, while searchable totals are turned on.
- A subtask directly under an epic (not under a story) is not counted in the time totals (see "Numbers included" above).
- A child issue's remaining time can include remaining time on that child's own done subtasks.
- The gadget's team filter is not saved with the gadget and resets when the dashboard reloads.
- A gadget table column header can wrap mid-word at the narrowest width.
- The header's percentage can keep showing a previously stored number for a while after a licence expires, since it reads only the stored totals, not licence status.
- Cross-project child issues are only counted between company-managed projects.
Support
Email support@helkrypt.no. We answer within 2 business days (Norwegian time).
FAQ
Does it work in team-managed projects?
Yes. The panel, JQL totals and dashboard gadget all work in both team-managed and company-managed projects.
Does it work across projects?
A child issue in a different company-managed project is counted. Jira doesn't allow a team-managed epic to have children in another project, so cross-project rollups only happen between company-managed projects.
Will epic totals include issues I can't see?
The panel and gadget never show the content of an issue you don't have access to. Searchable totals (JQL) are calculated for every child issue, including ones some users can't open — only the count and sums, never titles or content. If that means children are hidden from you, the panel tells you how many, instead of showing a number without explanation.
What happens to the totals if I turn searchable totals off, or uninstall the app?
Turning searchable totals off removes the numbers from every epic (a background job cleans them up). Uninstalling the app does not remove them by itself: the app can't reach Jira anymore once it's uninstalled, so the numbers-only property stays on epics. Turn searchable totals off before uninstalling if you want them gone.
Is logged time per person shown by default?
No. It's off by default, and only a Jira administrator can turn it on. When they do, they see a notice that it's their responsibility to inform employees and assess whether it's lawful in their organisation. The numbers are calculated in your browser and never stored, ranked, compared across epics or exported.
Where is my data stored?
Admin settings are stored in Atlassian's Forge hosted storage. Epic totals (numbers and a date only) are stored as a property on the epic itself, so they can be searched in JQL. Nothing is sent outside Atlassian. See our privacy policy.