Groovy 使用ScriptRunner在Jira中验证条目格式
我需要使用ScriptRunner验证用户在Jira中为“我的字段”输入的数据格式 用户输入应包括前缀(始终为“ABCD”)和后缀(数字),例如ABCD12345 我的代码有问题:Groovy 使用ScriptRunner在Jira中验证条目格式,groovy,jira,Groovy,Jira,我需要使用ScriptRunner验证用户在Jira中为“我的字段”输入的数据格式 用户输入应包括前缀(始终为“ABCD”)和后缀(数字),例如ABCD12345 我的代码有问题: 如果用户输入任何少于9个字符的字符串,则不会进行验证;它必须是9个字符或更多 不管用户输入什么前缀-根本没有前缀验证 对于等于或大于9个字符的字符串,只验证后缀(从5到9个字符) 关于提出的3个问题 添加验证,检查字段的长度。如果该值小于9,并且您预期为其他值,则抛出一个错误 不确定您使用的语法,如果您对该案例不太
关于提出的3个问题
字段的长度
。如果该值小于9,并且您预期为其他值,则抛出一个错误!“ABCD”.equalsIgnoreCase(前缀)
可能有效,如果您是,那么可能前缀!=“ABCD”
后缀
时,不要硬编码9,而是使用字段长度。这将有助于验证第4位之后的字符是否为长度为1到x的整数。如果字段长度为4,我会添加一个检查,这意味着没有空间容纳数字后缀import com.onresolve.scriptrunner.runner.util.UserMessageUtil
import com.opensymphony.workflow.InvalidInputException
String field = getFieldByName("My Example Field").getValue()
String prefix = field.substring(0, 4);
String suffix = field.substring(4, 9);
if (!prefix == "ABCD"){
getFieldByName("My Example Field").setError("Incorrect prefix: " + prefix)
}
else if (!suffix.isInteger()){
getFieldByName("My Example Field").setError("Incorrect suffix: " + suffix)
}
else {
getFieldByName("My Example Field").clearError()
}