Groovy Jira工作流脚本验证程序的返回代码

Groovy Jira工作流脚本验证程序的返回代码,groovy,jira,Groovy,Jira,我正在用Groovy编写一个工作流验证器,根据案例创建时输入的自定义字段值链接两个问题。要求Jira问题链接的自定义字段值是唯一的。换句话说,我需要确保只有一个问题具有特定的自定义字段值。如果有多个问题具有输入自定义字段值,则验证应失败 如何或如何返回以导致工作流验证程序失败 示例代码: // Set up jqlQueryParser object jqlQueryParser = ComponentManager.getComponentInstanceOfType(JqlQueryPars

我正在用Groovy编写一个工作流验证器,根据案例创建时输入的自定义字段值链接两个问题。要求Jira问题链接的自定义字段值是唯一的。换句话说,我需要确保只有一个问题具有特定的自定义字段值。如果有多个问题具有输入自定义字段值,则验证应失败

如何或如何返回以导致工作流验证程序失败

示例代码:

// Set up jqlQueryParser object
jqlQueryParser = ComponentManager.getComponentInstanceOfType(JqlQueryParser.class) as JqlQueryParser
// Form the JQL query
query = jqlQueryParser.parseQuery('<my_jql_query>')
// Set up SearchService object used to query Jira
searchService = componentManager.getSearchService()
// Run the query to get all issues with Article number that match input 
results = searchService.search(componentManager.getJiraAuthenticationContext().getUser(), query, PagerFilter.getUnlimitedFilter())
// Throw a FATAL level log statement because we should never have more than one case associated with a given KB article
if (results.getIssues().size() > 1) {
    for (r in results.getIssues()) {
        log.fatal('Custom field has more than one Jira ssue associated with it. ' + r.getKey() + ' is one of the offending issues')
    }
    return "?????"
}

// Create link from new Improvement to parent issue
for (r in results) {
    IssueLinkManager.createIssueLink(issue.getId(), r.getId(), 10201, 1, getJiraAuthenticationContext().getUser())
}
//设置jqlQueryParser对象
jqlQueryParser=ComponentManager.getComponentInstanceOfType(jqlQueryParser.class)作为jqlQueryParser
//形成JQL查询
query=jqlQueryParser.parseQuery(“”)
//设置用于查询Jira的SearchService对象
searchService=componentManager.getSearchService()
//运行查询以获取与输入匹配的商品编号的所有问题
结果=searchService.search(componentManager.getJiraAuthenticationContext().getUser(),查询,PagerFilter.getUnlimitedFilter())
//抛出致命级别日志语句,因为给定KB文章关联的案例不应超过一个
如果(results.getIssues().size()>1){
for(results.getIssues()中的r){
log.fatal('自定义字段有多个与之关联的Jira ssue。'+r.getKey()+'是有问题的问题之一')
}
返回“??”
}
//创建从新改进到父问题的链接
对于(结果中的r){
IssueLinkManager.createIssueLink(issue.getId(),r.getId(),10201,1,getJiraAuthenticationContext().getUser())
}
试试下面的方法

import com.opensymphony.workflow.InvalidInputException
invalidInputException = new InvalidInputException("Validation failure")
这是基于。如果它不适合您,我建议您使用某种框架来简化脚本编写,我喜欢使用或 . 所有这些都让脚本编写变得更简单、更直观