Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

calculate the workload of an epic

This question is in reference to Atlassian Documentation: Configuring Estimation and Tracking

Is it possible to calculate the total estimated work and the total logged work for an epic containing issues which have sub-issues?

 

3 answers

Yes.... Let me dig out a script

Using Scriptrunner 

 

 

CustomField = EPIC Total Time Spent which shows on an EPIC the total time spent across linked issues (Stories & subtasks)


{code:groovy}
import com.atlassian.jira.ComponentManager

import java.text.DecimalFormat

def componentManager = ComponentManager.getInstance()
def issueLinkManager = componentManager.getIssueLinkManager()

def totalTimeSpent = 0.0d

def epicTimeSpent = issue.timeSpent
if(epicTimeSpent) {
totalTimeSpent += epicTimeSpent
}

if(issue.getSubTaskObjects() != []) {
issue.getSubTaskObjects().each {epicSubTask ->
def epicSubTaskTimeSpent = epicSubTask.timeSpent
if(epicSubTaskTimeSpent) {
totalTimeSpent += epicSubTaskTimeSpent
}
}
}

if(issueLinkManager.getOutwardLinks(issue.id) != []) {
issueLinkManager.getOutwardLinks(issue.id).each {issueLink ->
if (issueLink.issueLinkType.name == "Epic-Story Link") {
def linkedIssue = issueLink.destinationObject
def linkedIssueTimeSpent = linkedIssue.timeSpent
if(linkedIssueTimeSpent) {
totalTimeSpent += linkedIssueTimeSpent
}

//if(linkedIssue.getSubTaskObjects().size > 0) {
if(linkedIssue.getSubTaskObjects() != []) {
linkedIssue.getSubTaskObjects().each {linkedIssueSubTask ->
def linkedIssueSubTaskTimeSpent = linkedIssueSubTask.timeSpent
if(linkedIssueSubTaskTimeSpent) {
totalTimeSpent += linkedIssueSubTaskTimeSpent
}
}
}
}
}
}

if(totalTimeSpent > 0) {
totalTimeSpent = totalTimeSpent / 60.0d / 60.0d / 8.0d //Seconds to Hours
}

//formatNumber(number: totalTimeSpent, Locale.ENGLISH, format: '##0.0')
//new DecimalFormat("#.#").format(totalTimeSpent);

totalTimeSpent
{code}

Just amend it for Total Estimation of time...

Thank you for your quick reply. I will have a go, after installing the script runner which we do not have.

0 votes
Steven Behnke Community Leader Jun 30, 2016

Epic SumUp can do this. You cannot do this natively out of the box.

https://marketplace.atlassian.com/plugins/aptis.plugins.epicSumUp/cloud/overview

Yes, you can use BigGantt plugin for to getting total time and work...

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence

Introducing External Collaboration for Confluence

We’re excited to introduce external collaboration for Confluence, now available in early access. It is available to preview for Confluence Cloud Premium and Enterprise customers. (If you're not on ...

236 views 0 8
Read article

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you