Hi i am trying to add a script in a validator, but every time i am trying to exeute i am getting this error.,Even i tried this JQL query in Issue Search its working , but here its not able to print that.
Error : --
com.atlassian.jira.jql.parser.JqlParseException: com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException: MismatchedSetException(123!=null)
at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseClause(DefaultJqlQueryParser.java:110)
at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseQuery(DefaultJqlQueryParser.java:33)
at com.atlassian.jira.jql.parser.JqlQueryParser$parseQuery.call(Unknown Source)
at Script570.run(Script570.groovy:34)
My Code is : -
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.component.ComponentAccessor ;
import com.atlassian.jira.issue.MutableIssue ;
import com.atlassian.jira.issue.fields.config.FieldConfig ;
import com.atlassian.jira.issue.customfields.option.Options ;
import com.atlassian.jira.issue.CustomFieldManager ;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.fields.IssueLinksSystemField;
import com.atlassian.jira.issue.search.SearchProvider;
import com.atlassian.jira.jql.parser.JqlQueryParser;
import com.atlassian.jira.web.bean.PagerFilter;
import com.atlassian.jira.user.ApplicationUser;
import com.atlassian.jira.user.util.UserManager;
import org.apache.log4j.Logger
log.setLevel(org.apache.log4j.Level.DEBUG)
log.debug("test")
String jqlFilter = ""
String brJqlFilter = ""
boolean pass = true
log.debug("testing jqlFilter" + jqlFilter )
//def issueManager = ComponentAccessor.getIssueManager();
UserManager userManager = ComponentAccessor.getComponent(UserManager)
ApplicationUser user = userManager.getUserByName("INT_JIRA")
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
jqlFilter = jqlQueryParser.parseQuery("'Parent Link' = " + issue.key +" AND issuetype = BR")
def query = jqlQueryParser.parseQuery(jqlFilter)
def results = searchProvider.search(query, user, PagerFilter.getUnlimitedFilter())
log.debug(" Printing Results >>>>>>>>>>>>" + results )
//Looping throhg my BR issues in my Planview parent issue
if(results.getTotal()>0){
Integer i = 0;
results.getIssues().each { br ->
//Conditions before we check FR
if(br.status.name != "Completed"){
pass = false
log.debug(" printing BR Status >>>>>>>>>>>>" + br.status.name )
} else{
brJqlFilter = jqlQueryParser.parseQuery("'Parent Link' ="+ br.key +"AND issuetype = FR")
def brQuery = jqlQueryParser.parseQuery(brJqlFilter)
def brResults = searchProvider.search(brQuery, user, PagerFilter.getUnlimitedFilter())
//Looping through all the fr issues in my BR parent issue
if(brResults.getTotal()>0){
brResults.getIssues().each { fr ->
if(fr.status.name == "Completed"){
log.debug(" printing FR Status >>>>>>>>>>>>" + fr.status.name )
log.debug("Entering Fr If Block")
pass = true
}else{
log.debug("Entering Fr else Block")
//conditions whether pass or no pass
//if FR does not meet conditions we need
pass = false
}
}
}
}
}
} else return false //this means yuou cannot do transition because for somereason no BR