Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

languagegroovy
themeConfluence
linenumberstrue

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();

...


}

...