Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,369,750
Community Members
 
Community Events
168
Community Groups

Does JQL have the capability to query nested fields?

I have a field in my Jira Issue which has nested parameters. These nested parameters have metadata while others give insight into whether particular feature is enabled or not. 

Field A: "applicationId":ABC123,"microserviceName":loanprocessingservice,"javaVersion":11,"cluster":apz09,""ropc":true,observabiltiy":false,"istioAdvSettings":true

Using the 'Search for Issues' feature, I want to know how many issues were created where ropc is true. After I get this search, I want to create a widget to use in a Jira Dashboard. 

However, the ropc field is encased with double quotes which is a restricted character.

Tried below queries and none seem to be working:

  • Field A ~ "ropc*true" 
  • Field A ~ "\"ropc\":true" 

 

Is JQL not powerful enough to do this kind of search? Or is it a syntax issue? If the latter, can you provide the query for which I can use?

 

1 answer

Hello @Julie Dang 

When you say the field has "nested parameters" do you just mean it has "some text in it that contains double quotes and other stuff"?

Provided that Field A is a text field and what you are calling 'parameters' is really just a pile of text, then the JQL "Field A" ~ "\"ropc\":true" will work.

Here is where I put the same text as your question into a text field of an issue:

Untitled2.png

Here is the JQL search that correctly finds that issue where that text field contains the text "ropc":true, including the double quotation marks:

Untitled.png

Hello @David Bakkers 

Thanks for answering my question! Yes, it is text. 

I tried to use the JQL again and am getting results!

 However, the data seems to be incorrect. I used the JQL  Field A" ~ "\"ropc\":true". 

I get 22 results, 4 are true and the rest 18 are false.

Do you know why this is? Would you be able to add another issue in your project with above but ropc is false and see if you're able to replicate this? 

Hello @Julie Dang 

I re-tested by putting the text in the description field of two issues, then I used the JQL:

project = BPT AND description ~ "\"ropc\":true"

Only those two issues were found in the entire BPT project, which contains over 400 hundred issues, all of which have complex text in their descriptions. I also put your parameter text, without the "ropc":true parameter, into a bunch of issue descriptions, just to be sure.

I then changed some of the parameter text to "ropc":false or "ropc":justsomejunk in some descriptions, and they were falsely found by the JQL. Even if I changed all the commas in the text to line breaks, the JQL still falsely found the non-matching text.

Also, if I used the JQL:

project = BPT and description ~ "\"ropc\":false"

The issues that contained "ropc":true or "ropc":justsomejunk were also falsely found.

Looks like you're facing the underlying problem that it's the colon (:), which is a special character, that is screwing the JQL and the character escaping doesn't work consistently. Refer to JRACLOUD-75866 and JRACLOUD-25092 which are tracking this bug.

Don't hold your breath. This bug has been open for 10 years!

Suggest an answer

Log in or Sign up to answer