Time Tracking at Epic level in hours/days/weeks

I'd like to get JIRA epics to aggregate subordinate story/task estimates in hours/days/weeks (not in story points). So that when viewing an epic I can see what's its total estiamte, remaining and actual in hours/days/weeks, and also so I can see the epic burndown in hours/days/weeks.

I can get stories and tasks to aggregate subtask times, but I can get this to work at epic level, is there a way to achieve this ?

Thanks!

1 answer

The following is really only helpful for reporting, but at least it gives an overall view of an epic and the time remaining.

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);

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

2,878 views 12 18
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot