How can I generate a report that will roll up time estimates for Linked Issues and the Issues Subtasks?

djjay0131 April 2, 2014

We use epics to track large blocks of our projects that we need to report on to track budgets. We are currently using stories under epics and then subtask on those stories. Developers log their time using the time logging feature to the subtask. We would like to create a report that will total up the time for a given Epic by summing up all of the logged work in the subtask.

2 answers

0 votes
Moriah Chandler
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 13, 2014

Working with support from Arsenale Dataplane, we are now able to view a report that includes epics, the stories in those epics, and the subtasks for those stories. Though we are using Dataplane (a paid addon), the scheme for setting up a scripted field that can be used to "segment by" epics is still useful without it.

How Dataplane solved the problem for me:

 

  1. Install Script Runner addon (free).
  2. Create a new Script Runner custom field ("Scripted Field") in JIRA, called "Master Epic" (or something similar). Here's Arsenale’s own Dataplane primer on how to set up and use Scripted Fields. Here's a more general Script Runner primer on how to use a Scripted Fields. You are going to use this field to report on the Epic that the issue is a part of, regardless of whether the issue is a parent or a sub-task issue. Scripted Fields use programming script written in a language called Groovy. It's virtually identical to Java.
  3. After creating the field, go to the Admin>Addons tab.
  4. Click on “Script Fields” under the Script Runner section on the left.
  5. Click Edit.
  6. Enter the following script:
  7. Reindex JIRA.
  8. If you are using Dataplane, reindex it also.
  9. In Dataplane you can create a report that uses this scripted field to “segment by”.
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);
David Goldstein
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 14, 2014

Using Moriah's instructions with the Arsenale Dataplane add-on, here are some nice charts of estimated time per Epic, further segmented by Issue Type. Time estimates for all standard issues, sub-tasks and the Epics themselves are included.

1. What is the Time Estimate for each Epic?

2. What percent of the Time Estimate for each Epic will address Bugs, Feature Requests, Stories, etc?

0 votes
Tanner Wortham
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 3, 2014

The Timesheet plugin can sum up those hours for you. Here's a quick glance at what it looks like for one of our projects. (note that i blacked out names of our team.)

Suggest an answer

Log in or Sign up to answer