import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.datetime.DateTimeFormatter
import com.atlassian.jira.datetime.DateTimeStyle
import com.atlassian.jira.project.version.Version
if(underlyingIssue){
return;
}
def fixVersionsCf = getFieldById("fixVersions");
def dueDateCf = getFieldById("duedate");
if(fixVersionsCf==null || dueDateCf== null){
return;
}
def dueDateValue = dueDateCf.getFormValue();
def fixVersionsValue = fixVersionsCf.getFormValue()
log.info("dueDateValue:["+dueDateValue+"]")
log.info("fixVersionsValue:["+fixVersionsValue+"]")
if (fixVersionsValue) {
def latestDate = getLatestDate(fixVersionsValue);
log.info("latestDate:"+latestDate)
//没有设置版本时间把duedate置空
if(!latestDate) {
// dueDate.setFormValue(null)
return;
}
//获得日期格式转化 类
DateTimeFormatter dateFormatter = ComponentAccessor.getComponent(DateTimeFormatter.class);
//根据当前操作人获得它的日期格式
dateFormatter = dateFormatter.forLoggedInUser();
dueDateValue = dateFormatter.withStyle(DateTimeStyle.DATE_PICKER).format(latestDate as Date);
log.info("dueDateValue:"+dueDateValue)
dueDateCf.setFormValue(dueDateValue)
} else {
// dueDate.setFormValue(null)
}
//获取多个版本中最迟的完成时间
def getLatestDate(versions) {
if(!(versions instanceof List)) {
return ComponentAccessor.getVersionManager().getVersion(versions as Long).getReleaseDate();
}
def sortArray = [];
for(x in versions) {
log.debug("xx:"+x)
def version = ComponentAccessor.getVersionManager().getVersion(x as Long);
if(version == null){
continue;
}
if(version.getReleaseDate()) {
sortArray.add(version.getReleaseDate());
}
}
return sortArray.max();
}
Overview
Content Tools