Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.datetime.DateTimeFormatter
import com.atlassian.jira.datetime.DateTimeStyle

//取系统字段Fix Version/s
def fixVersions = getFieldById("fixVersions").getFormValue()
//取系统字段Due Date
def dueDate = getFieldById("duedate")
//如果没有配置Due Date字段退出程序
if (!dueDate) {
    return
}
if (fixVersions) {
    def latestDate = getLatestDate(fixVersions);
    //没有设置版本时间把duedate置空
    if(!latestDate) {
        dueDate.setFormValue(null)
        return;
    }
    //获得日期格式转化 类
    DateTimeFormatter dateFormatter = ComponentAccessor.getComponent(DateTimeFormatter.class);
    //根据当前操作人获得它的日期格式
    dateFormatter = dateFormatter.forLoggedInUser();
    dueDate.setFormValue(dateFormatter.withStyle(DateTimeStyle.DATE_PICKER).format(latestDate as Date))
} else {
    dueDate.setFormValue(null)
}

//获取多个版本中最迟的完成时间
def getLatestDate(versions) {
    if(!(versions instanceof List)) {
        return ComponentAccessor.versionManager.getVersion(versions as Long).releaseDate;
    }
    def sortArray = [];
    for(x in versions) {
        def version = ComponentAccessor.versionManager.getVersion(x as Long)
        if(version.releaseDate) {
            sortArray.add(version.releaseDate);
        }
    }
    return sortArray.max();
}


  • No labels