How to build and execute a JQL with parameters with scriptrunner

I need to build and execute a JQL in a script listener to search for certain words in the Description field in JIRA. For instance, once I obtained the values for param1, param2, and param3 (I know how to do the parsing), I need to build a JQL and excute it to search for all Jira issues where the description fields contains all three values, like this:


description ~ param1 AND description ~ param2 AND description ~ param3



Thank you for your assistance

1 answer

1 accepted

Hi Alexey...thank you so much for your assistance. This is really helpful. I am still struggling with this line of the code:

def query = jqlQueryParser.parseQuery("description ~ param1 AND description ~ param2 AND description ~ param3")


How do I specify that I need the JQL to execute with the value in param1/param2/param3 and not the words param1/param2/param3?

Thank you for your help

You could write like this

def param1 = getYourParam1();

def param2 = getYourParam2();

def param3 = getYourParam3();

def query = jqlQueryParser.parseQuery("description ~ " + param1 + "AND description ~ " + param2 + "AND description ~ param3")

Then you would need to decide where you would store your parameters.

And you have many choices:

You could:

store it in the file system near your script

store in a custom field for each issue

store as an issue property

store as a project property

store it in SAL

store it in a database

and so on

Hi Alexey...thank you for your assistance...I finally had the time to test this out but it is still not working...the issue is with the line with the JQL...I am parsing the summary of the issue being created and I am properly getting param1, param2, and param3 but building the JQL is not gives a syntax error...and also param1, param2, param3 may be JIRA reserved words as well. So for instance, if param1 = account-authn, param2 = access, and param3 = 1.5.0, the following line works fine:

def query = jqlQueryParser.parseQuery("description ~ 'account-authn' and description ~ 'access' and description ~ '1.5.0'")

but of course I need this to be with the values in param1, param2, param3

Here is the error I got:

com.atlassian.jira.jql.parser.JqlParseException: com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException
 at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseClause(
 at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseQuery(
 at com.atlassian.jira.jql.parser.JqlQueryParser$ Source)
Caused by: com.atlassian.jira.jql.parser.antlr.RuntimeRecognitionException
 at com.atlassian.jira.jql.parser.antlr.JqlLexer.checkAndSet(
 at com.atlassian.jira.jql.parser.antlr.JqlLexer.mSTRING(
 at com.atlassian.jira.jql.parser.antlr.JqlLexer.mTokens(
 at org.antlr.runtime.Lexer.nextToken(
 at org.antlr.runtime.BufferedTokenStream.fetch(
 at org.antlr.runtime.BufferedTokenStream.sync(
 at org.antlr.runtime.CommonTokenStream.consume(
 at org.antlr.runtime.BaseRecognizer.match(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.operator(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.terminalClause(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.notClause(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.andClause(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.orClause(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.clause(
 at com.atlassian.jira.jql.parser.antlr.JqlParser.query(
 at com.atlassian.jira.jql.parser.DefaultJqlQueryParser.parseClause(
 ... 3 more

It must be

def param1 = "account-authn"

def param2 = "access"

def param3 = "1.5.0"

def myQuery =  "description ~ \"" + param1 + "\" AND description ~ \"" + param2 + "\" AND description ~ \"" + param3 + "\""


def query = jqlQueryParser.parseQuery(myQuery)

Kindly check in the logs that myQuery is correct

You are the man!

Thank you so much for your help Alexey!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Jan 08, 2019 in Jira

How to Jira for designers

I’m a designer on the Jira team. For a long time, I’ve fielded questions from other designers about how they should be using Jira Software with their design team. I’ve also heard feedback from other ...

1,161 views 5 10
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you