Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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(); |
...
} |