...
language | groovy |
---|---|
theme | Confluence |
linenumbers | true |
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();
...
}
...