JQL query: field "starts with..."

Hello,

I would like to create a filter to show those issues whose custom field "Name" starts by a specific letter, let's say, "A".

I am currently using:

Name ~ "A*"

But it is returning wrong results (issues where Name does not start with "A")

Does anybody have any clue about how to perform that search?

Thanks a lot,

Marc

5 answers

1 accepted

Accepted Answer
0 votes

You should be able to use issueFieldExactMatch from the same plugin...

issueFunction in issueFieldMatch("", "Name", "A.*")

Hello Jamie,

Thanks for your answer.

However, I am receiving an error:

The JIRA server could not be contacted. This may be a temporary glitch or the server may be down.

When performing the following query:

issueFunction in issueFieldMatch("project=XXX", "Nom", "^[a-eA-E]")

If I change and use the field "Assignee" instead of the custom field "Nom" (Text Field (< 255 characters)), it works fine.

Do you know what may be happening?

Regards,

Marc

Logs, in case they may help:

2013-03-08 08:21:48,804 http-8080-2 DEBUG bignoan 501x5364x2 nda8qa 158.166.147.59,158.167.133.6,127.0.0.1 /rest/issueNav/1/issueTable/ [jira.groovy.jql.AbstractScriptedJqlFunction] Subquery (project=PMOCONTACT) took 30 ms
2013-03-08 08:21:48,823 http-8080-2 ERROR bignoan 501x5364x2 nda8qa 158.166.147.59,158.167.133.6,127.0.0.1 /rest/issueNav/1/issueTable/ [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service
java.lang.NullPointerException
	at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
	at java.util.regex.Matcher.reset(Matcher.java:291)
	at java.util.regex.Matcher.&lt;init&gt;(Matcher.java:211)
	at java.util.regex.Pattern.matcher(Pattern.java:888)
	at sun.reflect.GeneratedMethodAccessor1519.invoke(Unknown Source)  &lt;+1&gt; (DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:189)
	at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at com.onresolve.jira.groovy.jql.EntityMatch$_getQuery_closure1.doCall(script1362578899598384340786.groovy:107)  &lt;+2&gt; (DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:877)
	at groovy.lang.Closure.call(Closure.java:412)
	at org.codehaus.groovy.runtime.DefaultGroovyMethods.eachWithIndex(DefaultGroovyMethods.java:1368)
	at org.codehaus.groovy.runtime.dgm$206.invoke(Unknown Source)

There are more lines, but characters are limited here.

Thanks!

Oh... it's a bug in my code. Can you modify the input query to be "project = XXX and Nom is not empty". Check that query works on its own before feeding to the function.

(https://jamieechlin.atlassian.net/browse/GRV-207)

Thanks Jamie! Here the results of the tests:

project= XXX AND Nom is not EMPTY

Returns apropriate issues.

issueFunction in issueFieldMatch("project= XXX AND Nom is not EMPTY", "Nom", "^[a-eA-E]")

Does not return any issue (it should). No errors are logged.

"^[a-eA-E].*"

worked for me... although I think yours should have worked too.

Great Jamie. It works with this regex!

Thanks again!

Marc

Hi Jamie,

I have a similar issue, looking for issues with lables starting with "c/" (as in c/something). Unfortunately, the qurey I am using also returns results like "asc/something" etc, i.e. not starting with but containing "c/".

My query: issueFunction in issueFieldMatch("", labels, "c/.*")

Could you please advise?

Thanks,

Ondrej

0 votes
Henning Tietgens Community Champion Mar 05, 2013

This is not possible without writing you own jql function as a plugin (or using Script Runner to script this jql).

Thanks for you answer, Henning.

However, I have one doubt: I have not been able to find where to define a new JQL function within Script Runner.

Even if I follow Jamie Echlin's instructions, I cannot find the described options: Admin -> Script JQL Functions

Quick Start

  • Go to Admin -> Script JQL Functions.
  • Click Add New Function

https://jamieechlin.atlassian.net/wiki/display/GRV/Scripted+JQL+Functions#ScriptedJQLFunctions-Writingyourownfunctions

Any clue would be appreciated! Thanks

Henning Tietgens Community Champion Mar 05, 2013

Yes, scripted JQL is currently only in the beta version.

Henning Tietgens Community Champion Mar 05, 2013

For me it's the last point of the Plugins menu and a link on the main admin page in the plugin section under Other.

Henning Tietgens Community Champion Mar 05, 2013

Do you use the current BETA version?

No, I am currently using 2.0.7. Should I update to 2.1-BETA-8? to use these options?

Thanks Henning, it works!

You could also use:

Name LIKE 'A%'

0 votes

Should be: "^c.*"

If you got to this question and are wanting to match against a project's name, this works for me:

project IN projectMatch("project name prefix.+")

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Sep 25, 2018 in Jira

Atlassian Research Workshop opportunity on Sep. 28th in Austin, TX

We're looking for participants for a workshop at Atlassian! We need Jira admins who have interesting custom workflows, issue views, or boards. Think you have a story to sha...

449 views 7 5
Join discussion

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