Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
languagegroovy
themeConfluence
linenumberstrue
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();

...


}