如何为内置验证器应用条件
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")
}
我有一些要求要检查用户何时创建新问题。所以在创建时,如果他们 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")
}