ScriptRunner后置函数中问题无组件时抛异常失败,如何修复?
修复ScriptRunner组件校验异常抛出问题
问题核心
直接抛出WorkflowException在Jira工作流校验场景下无法正确触发前端提示,需适配Jira工作流验证的标准异常类型,同时需考虑字段取值的空安全问题。
修复方法
1. 替换为工作流验证专用异常
在工作流验证脚本中,使用ValidatorException替代WorkflowException,这是Jira官方认可的验证环节异常类型,能正确弹出你需要的提示框:
package SuperFeature import com.atlassian.jira.workflow.validator.ValidatorException def components = issue.components log.warn("MOUNA COMPONENTS " + components) if (components?.empty) { log.warn("MOUNA EMPTY") // 第二个参数false表示阻止工作流继续执行 throw new ValidatorException("问题未关联组件", false) }
2. 完善空安全判断
避免components为null时出现空指针,将判断条件改为components?.empty(Groovy的安全导航操作符),确保null和空集合都能被检测到。
3. 确认脚本绑定位置
确保你的脚本是绑定在工作流的「验证器」环节,而非后置函数或其他环节——只有验证器环节抛出的异常才会拦截操作并向用户展示提示信息。
内容的提问来源于stack exchange,提问作者منى
相关产品推荐
相关产品推荐

