Roll up epic time estimates

This is the documentation for Dataplane Reports 3.3. - 4.0.x.
If you are using an earlier version of the app, you can access the documentation from the version index page.

Roll up epic time estimates

Overview

For project and development managers working with Jira Software and agile teams, it is very difficult in Jira to get a picture of the total amount of time remaining to complete outstanding epics when the work is spread across a multitude of user stories, sub-tasks, and possibly even separate projects. There's no visibility into how those estimates roll up to the epic they are a part of.

Using Dataplane Reports and the Jira Misc Custom Fields (JMCF) or ScriptRunner for Jira app, you will quickly create comprehensive reports tracking time across all your Jira Software epic initiatives.

For details on using Jira Misc Custom Fields (JMCF) with Dataplane Reports, see Reporting on Calculated Values with JMCF. Review Writing scripts in JMCF using the Groovy language for additional information on JMCF app and script use.

For details on using ScriptRunner for Jira with Dataplane Reports, see Reporting on Calculated Values with ScriptRunner. For additional information, review the ScriptRunner Scripted Fields documentation.

Configuring your Jira instance

This solution assumes you are using Jira Software and its Epic, Story, and Task issue types. However, the same general approach can be used for any set of issues and sub-task issues associated with an issue representing a parent feature.

  1. In Jira, install the Jira Misc Custom Fields (JMCF) or ScriptRunner for Jira app.

  2. Create a new JMCF custom field of type Calculated (scripted) Text/Html Field, or a ScriptRunner custom field of type Scripted Field. Name the field Parent Epic or something similar. Select Free Text Searcher for the Search Template option for this field, since the field will be returning text values. We are going to use this field to report on the epic that each issue is associated with, regardless of whether the issue is a user story or a sub-task issue.

  3. For a JMCF custom field, use the following script:

    import com.atlassian.jira.issue.Issue if (issue.isSubTask()) { issue = issue.getParentObject() } Issue epicIssue = issue.get("Issue Type").getName().equals("Epic") ? issue : issue.getEpic() return epicIssue != null ? epicIssue.get("Epic Name") : null

    For a ScriptRunner custom field, use the following script:

    import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.CustomFieldManager import com.atlassian.jira.issue.fields.CustomField import com.atlassian.jira.issue.Issue CustomFieldManager fieldManager = ComponentAccessor.getCustomFieldManager() CustomField epicLinkField = fieldManager.getCustomFieldObjectByName("Epic Link") CustomField epicNameField = fieldManager.getCustomFieldObjectByName("Epic Name") if (issue.isSubTask()) {  issue = issue.getParentObject() } Issue epicIssue = (issue.getIssueTypeObject().getName().equals("Epic")) ? issue : issue.getCustomFieldValue(epicLinkField) return epicIssue != null ? epicIssue.getCustomFieldValue(epicNameField) : null

     

  4. Reindex Jira. This is necessary whenever adding a new custom field in Jira.

  5. Once Jira is reindexed, click Dataplane Reports > Administration > Configuration. On the Indexer tab, click the Sync Index button to have Dataplane register the newly added custom field.

We're now ready to create the Dataplane report.

Creating the report

In the Dataplane report directory, under New Report, select the Advanced category of reports.

Select the Sum Numeric Field Report.

For report configuration options, set up your report as follows:

Option

Selection

Comments

Option

Selection

Comments

Search

any

Select your Jira projects, project categories, and filters of interest. Or click the JQL tab in that field to enter a command using Jira Query Language (JQL).

Segment By

Parent Epic

Select the newly added JMCF or ScriptRunner custom field.

Statuses to Include

all,
except Resolved and Closed

Select which Jira issue statuses you want to include in the report. Select all statuses in your Jira instance except Resolved and Closed.

Value Of

Time Estimate (Hours)

We want the estimated time remaining for the issues in the epic.

Alternatively, you could select Original Estimate (Hours) to report on the total time estimated to complete all the epic work or Time Spent (Hours) to report on the hours of work completed so far.

If you select one of these other time fields, you'll want to change the Statuses to Include options so they're sensibly matched (for example, including Resolved and Closed for Original Estimate (Hours).

Chart Type

or

Select the Bar Chart or Vertical Bar Chart.


Click the Run Report button to create your report.  

You'll see a nice roll-up of the time remaining to complete all the stories and sub-tasks for each epic.

Time Estimates bar chart

Segmenting results

The Segment By field in Dataplane reports lets you break down report results by any number of different Jira fields or properties to see more granularity.

To check that we're properly including the time for all stories and sub-tasks within each epic, add Issue Type to Segment By in the report configuration. This will allow us to segment the results by the new JMCF or ScriptRunner custom field Parent Epic and further slice the data by Issue Type.

Click Run Report again, and the results will look something like this:

Tiime Estimates bar chart

Comparing time allocation across epics

Among the various Chart Type options in a report configuration, the Normalized Bar Chart and Normalized Vertical Bar Chart are great tools for comparative analysis of where time is remaining or was spent across epics.

chart types

These chart types visualize the report results on a percentage basis instead of using absolute units of time, allowing for easy epic-to-epic comparisons.

Here's our same report run using a Normalized Vertical Bar Chart:

Time estimates for bar chart segmented

 

 

 

 

Need support? Create a request with our support team.

Copyright © 2005 - 2026 Appfire | All rights reserved.