Hi,
We have a Custom Filed called "PortfolioPriority" which is Select List (single choice) and it is mainly visible at EPIC level but Available Context(s) is "Issue type(s): Global (all issues)".
Value of this field "PortfolioPriority" will be set at EPIC level but we would like same value to be copied over to Linked User Stories of that EPIC and for same I created a calculated custom field for User Stories called "EPICPortfolioPriority" and this is formula I used.
But unfortunately it's not copying value of "PortfolioPriority" from EPIC rather "PortfolioPriority" available on US level.
Could you please suggest what could be wrong here... I am using Jira Custom fields.
<!-- @@Formula:
// This formula copies "Portfolio Priority Category" from EPIC to linked User Stories
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.fields.CustomField;
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customField = customFieldManager.getCustomFieldObject("customfield_16982");
inwardLinks = ComponentAccessor.getIssueLinkManager().getInwardLinks(issue.getIssueObject().getId());
String issuetype = issue.get("issuetype").getName();
if (issuetype.equals("User Story")){
for (link : inwardLinks.iterator()){
if (link.getIssueLinkType().getName().equals("Epic-Story Link"))
{ Issue parentIssue = link.getDestinationObject(); parentIssueValue = parentIssue.getCustomFieldValue(customField) == null ? "" : parentIssue.getCustomFieldValue(customField); }
}
}
return parentIssueValue;
}
-->
We do have LiC for Workflow Toolbox but it only works on WorkFlow transitions but here I would like to copy the value at EPIC level to User Story for all the existing EPICs and then develop a 2 dimensional graph ussing easyBI.
Community moderators have prevented the ability to post new answers.
Hi,
I solved this case myself and here is code if somebody interested or have better suggestions:
<!-- @@Formula:
// This formula copies "Priority Category" from EPIC to linked User Stories
import com.atlassian.jira.issue.link.IssueLink;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.ComponentManager;
ComponentManager componentManager = ComponentManager.getInstance();
IssueManager issueManager = ComponentAccessor.getIssueManager();
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField customField = customFieldManager.getCustomFieldObject("customfield_16982");
InwardLinks = ComponentAccessor.getIssueLinkManager().getInwardLinks(issue.getIssueObject().getId());
String issuetype = issue.get("issuetype").getName() == null ? "" : issue.get("issuetype").getName();
String parentIssueValue = "";
if (issuetype.equals("User Story")){
for (link : InwardLinks.iterator()){
if (link.getIssueLinkType().getName().equals("Epic-Story Link"))
{ Issue parentIssue = link.getSourceObject(); parentIssueValue = parentIssue.getCustomFieldValue(customField).value == null ? "" : parentIssue.getCustomFieldValue(customField).value; }
}
} else if (issuetype.equals("Epic")){
parentIssueValue = customField.getValue(issue.getIssueObject()).value == null ? "" : customField.getValue(issue.getIssueObject()).value;
}
return parentIssueValue;
-->
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.