我试图在脚本运行程序中执行一些代码,以了解有多少问题具有一定的摘要价值。代码应该非常简单明了,但我遇到了
JQLParseException
。我正在寻找摘要字段值为“aa”的所有问题。我在日志文件中收到此异常:
2022-08-05 15:18:52,115+0200 https-openssl-nio-443-exec-22 WARN mouh 918x48846x1 19eejnp 10.248.75.214 /secure/CommentAssignIssue.jspa [atlassian-jira.log] myyy exception: com.atlassian.jira.jql.parser.JqlParseException: com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException: NoViableAltException(59@[])
我还在
Jira
中执行了查询,它返回 274 个结果,所以它应该可以工作
这是我的代码
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import org.apache.log4j.Logger
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.opensymphony.workflow.InvalidInputException;
import com.softwareag.jira.insight.helper.Helper;
import java.sql.ResultSet;
import java.util.Map;
import com.atlassian.jira.project.version.Version;
import com.atlassian.jira.workflow.function.issue.AbstractJiraFunctionProvider;
import com.opensymphony.module.propertyset.PropertySet;
import com.opensymphony.workflow.WorkflowException;
import groovy.sql.GroovyRowResult
import groovy.sql.*
import groovy.sql.Sql
import java.sql.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.log4j.Logger;
import org.ofbiz.core.entity.ConnectionFactory;
import org.ofbiz.core.entity.GenericEntityException;
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.jql.parser.JqlQueryParser
import com.atlassian.jira.web.bean.PagerFilter
log.warn("HELLO 111")
def log = Logger.getLogger("atlassian-jira.log")
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
log.warn("MOUNA 3 ")
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
log.warn("MOUNA 4 ")
def issueManager = ComponentAccessor.getIssueManager()
log.warn("MOUNA 5")
// edit this query to suit
// I am looking for all issues with value "aa" for the summary field
def myquery = "summary ~ aa"
log.warn("total issues "+ myquery)
try{
def query = jqlQueryParser.parseQuery(myquery)
}catch (Exception e){
log.warn("myyy exception: "+e)
}
将摘要字符串用单引号括起来
'
应该可以解决此问题。
def myquery = "summary ~ 'aa'"
我找到解决办法了,应该是这样的
def query = jqlQueryParser.parseQuery("summary ~ \'" + customDiagnoserId + "\'")
伙计们。 我正在尝试使用查询的数字结果创建脚本字段。但它在我的情况下不起作用。 您是否知道如何调整该脚本以返回值? 提前谢谢你,帕斯