示例描述:
研发子任务的计划完成日期不能大于研发任务的计划完成日期
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.MutableIssue import java.text.SimpleDateFormat def startDate = getFieldByName("计划开始日期") def endDate = getFieldByName("计划完成日期") if (startDate && endDate && startDate.getValue() && endDate.getValue()) { def startDateVal = startDate.getValue() as Date def endDateVal = endDate.getValue() as Date if (startDateVal && endDateVal && startDateVal.after(endDateVal)) { startDate.setError('计划开始日期不能大于计划完成日期') } else { startDate.setError('') } //判断计划完成日期是否大于父任务计划完成日期 def parentIssueId = 0L if (underlyingIssue?.id) { parentIssueId = underlyingIssue.getParentId() } else { def parent = getFieldById("parentIssueId") parentIssueId = parent.getValue() as Long } if (parentIssueId) { def issueManager = ComponentAccessor.getIssueManager() def parentIssue = issueManager.getIssueObject(parentIssueId) def doneDate = ComponentAccessor.customFieldManager.getCustomFieldObject(10201L) def parentEndDate = parentIssue.getCustomFieldValue(doneDate) as Date SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") if (endDateVal && endDateVal.after(parentEndDate)) { endDate.setError('计划完成日期不能大于父任务计划完成日期: '+sdf.format(parentEndDate)+',请先调整父任务的计划完成日期') } else { endDate.setError('') } } }