scripted field showing sum of story points left in epic

Daniel Tombs March 22, 2017

I have been tasked to create a custom scripted field that will allow a team to see how many story points are left in an epic, so this is only on items to do or in progress. 

 

Does anyone have any idea of the best way to do this. I have looked at other questions on here but am struggling to pull the right information i need to have.

1 answer

1 vote
Katya Wegner March 22, 2017

Hi Daniel, we also had that problem and one of my colleagues solved it by a new custom field with type "calculated Number field" and following code:

In Short: there is a loop over the linked issues and the value of the field with the story points in it is added to the sum.

Don't know if it is the best way, but it seems to work for us smile

<!-- @@Formula:

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.link.IssueLink;

double sumCustomFieldValues( linkedIssues, customFieldId, linkTypeId ) {
double sum = 0;

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customField = customFieldManager.getCustomFieldObject(customFieldId);

for( int i = 0; i < linkedIssues.size(); i++ ){
IssueLink link = linkedIssues.get(i);

if( link.getIssueLinkType().getId() == linkTypeId ){
String currentStatusName = link.getDestinationObject().getStatusObject().getSimpleStatus().getName();
if(!"Cancelled".equals(currentStatusName) && !"Closed".equals(currentStatusName)){
Double customFieldValue = link.getDestinationObject().getCustomFieldValue(customField);
sum += (customFieldValue == null) ? 0 : customFieldValue;
}
}

}


return sum;
}

sumCustomFieldValues(issue.get("issuelinks"), 10002, 10200);

-->

Suggest an answer

Log in or Sign up to answer