Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
linenumberstrue
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.link.IssueLinkManager;

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customFieldObject = customFieldManager.getCustomFieldObject("<ID of Story Points custom field>");

Double total = 0;
IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager();
for (IssueLink outwardLink : issueLinkManager.getOutwardLinks(issueObject.getId())) {
    if (outwardLink.getIssueLinkType().getName() == .equals("Epic-Story Link")) {
        Double sp = customFieldObject.getValue(outwardLink.getDestinationObject());
        if (sp != null)
            total += sp;
    }
}
return total;

...

Code Block
languagejs
linenumberstrue
<!-- @@Formula:
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.issue.link.IssueLinkManager;

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customFieldObject = customFieldManager.getCustomFieldObject("<ID of Story Points custom field>");

Double total = 0;
IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager();
for (IssueLink outwardLink : issueLinkManager.getOutwardLinks(issueObject.getId())) {
    if (outwardLink.getIssueLinkType().getName() == .equals("Epic-Story Link")) {
        Double sp = customFieldObject.getValue(outwardLink.getDestinationObject());
        if (sp != null)
            total += sp;
    }
}
return total;
-->

...