如何为内置验证器应用条件

How to apply condition for built in validators

我有一些要求要检查用户何时创建新问题。所以在创建时,如果他们 select 特定组件说“ABC”,那么截止日期应该是一个必填字段,如果他们忘记添加它,那么它应该抛出一个错误。截止日期应始终比今天的日期晚 3 周,否则应显示错误,除非超过 3 周,否则他们无法创建问题。

我确实看到了一些针对必填字段和截止日期的内置验证器,但它适用于所有组件,而我只需要特定组件。任何 suggestion/help ?

提前致谢!

如果您使用的是Script runner Plugin,这可以通过编写自定义行为来实现。 例如脚本运行器行为:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.util.UserUtil
import  java.util.Date.*

def componentField= getFieldByName("component/s")
def dueDate= getFieldByName("Due Date")

dueDate.setRequired(false)

dueDateValue = dueDate.getValue() as Date
def today = new Date()

def threeWeekDate= today.plus(21)
if (componentField.getValue() == "ABC") {
     dueDate.setRequired(true)
}
if(dueDateValue.before(threeWeekDate)){
       dueDate.setError("You must choose a date after 3 weeks from today")
  }