Hi all,
I created new issue type called "Sprint":
-With summary that looks like in regular issue sprint custom fieldץ
-With start and end time.
I would like to create a script listener with trigger "Issue Updated" that will copy the start and end time from "Sprint" issue (with the same summary of script custom field of the issue) and insert it to start and end time of the specific issue.
I didn't success to use 2 different issue type in the script listener, so for now I refer to specific issues.
Can anyone can help me understand why the start and end time of the relevant issue didn't changed?
My Code for now:
IssueManager issueManager = ComponentAccessor.getOSGiComponentInstanceOfType(IssueManager.class);
Issue issue = issueManager.getIssueObject("WBL-46003");
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
//If Custom Field of issue is not null
if (customFieldManager.getCustomFieldObjectByName("Sprint")!=null)
{
List<String> curSpr = (List<String>) issue.getCustomFieldValue(customFieldManager.getCustomFieldObjectByName("Sprint"));
def name= curSpr[0].getName();
CustomField issueStartDate = customFieldManager.getCustomFieldObjectByName("Sprint Start Date");
CustomField issueEndDate = customFieldManager.getCustomFieldObjectByName("Sprint End Date");
Issue spr = issueManager.getIssueObject("WBL-46075");
//Take Sprint issue- start & end date
def issuetype = spr.getIssueType().name;
if(issuetype=="Sprint")
{
def summary = spr.getSummary().toString();
if(summary==name)
{
//sprint
def startDate = customFieldManager.getCustomFieldObjects(spr).find {it.name == "Sprint Start Date"};
def endDate = customFieldManager.getCustomFieldObjects(spr).find {it.name == "Sprint End Date"};
Object startDateVal = startDate.getValue(spr);
Object endDateVal = endDate.getValue(spr);
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder();
issueStartDate.updateValue(null, spr, new ModifiedValue(issue.getCustomFieldValue(issueStartDate), startDate), changeHolder);
issueEndDate.updateValue(null, spr, new ModifiedValue(issue.getCustomFieldValue(issueEndDate), endDate), changeHolder);
return issueStartDate;
return issueEndDate;
}
}