Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

In JQL Query "components in" does not match with partial match? How can I solve this?

CA July 20, 2020

I'm trying to filter specific tickets which have certain components in it.
To do so I have a very simple query like this:


project in (PROJ) and components in (C1, C2, C3, C4)

And I have such ticket list:

PROJ-1000 => Components:C1
PROJ-1001 => Components:C2
PROJ-1002 => Components:C2, C5
PROJ-1004 => Components:C3, C4
PROJ-1005 => Components:C6
PROJ-1006 => Components:C1, C6

After the filter above I expect to see

PROJ-1000 => Components:C1
PROJ-1001 => Components:C2
PROJ-1002 => Components:C2, C5
PROJ-1004 => Components:C3, C4
PROJ-1006 => Components:C1, C6 

However this is what I get:

PROJ-1000 => Components:C1
PROJ-1001 => Components:C2
PROJ-1004 => Components:C3, C4

It doesn't return the PROJ-1002 and PROJ-1006. I expect to see them because they contain the components I'm looking for.

How can I get my expected results without using any app, directly through the JQL query? 

To clarify, above is just an example. Components I'm looking are different strings such as  Eagle or Shark. There is no sequential relationships between components such as C1 to C6.

Thank you for the help.

2 answers

1 vote
Jack Nolddor _Sweet Bananas_
Atlassian Partner
July 21, 2020

Hi
Have you tried to use  componentMatches() function provided by JQL Booster Pack?

An example:

project = Project AND component in componentMatches(".*C1|C2|C3|C4|C5.*")

Regards

CA July 24, 2020

It looks like I can't use component Matches in Board JQL quick filters on my Jira Instance.

it says:

Unable to find JQL function 'componentMatches(".*C1|C2|C3|C4|C5.*")
Jack Nolddor _Sweet Bananas_
Atlassian Partner
July 24, 2020

Jack Nolddor said:

provided by JQL Booster Pack

Have you the third-party app already installed on your Jira instance?

0 votes
Sachin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 20, 2020

Hello @CA , can you confirm if there is any issue security scheme associated with your project? You can look at the issue security scheme from your project settings.

You won't be able to see the issues with security level in your results if there is a issue security level configured on your project and you are not granted security level permissions. See screenshots below.

Screenshot_6.pngScreenshot_1.png


CA July 20, 2020

Thank you for the response @Sachin 
This is not because of the security level of the tickets. If I need to continue my example, I've already have access all the tickets. Which means I can navigate all 

PROJ-1000 => Components:C1
PROJ-1001 => Components:C2
PROJ-1002 => Components:C2, C5
PROJ-1004 => Components:C3, C4
PROJ-1005 => Components:C6
PROJ-1006 => Components:C1, C6

 manually if I need to access them. However if need to filter them with some set of components, some of the tickets are not shown into the result.
For example if a ticket has C1, C6 as a component (PROJ-1006), I don't see it in the result. However I expect to see this ticket because I'm interested in all tickets which have at least one of the components (C1, C2, C3, C4) inside the ticket.

Therefore in this case, I'm not interested in C6 however, because PROJ-1006 also has a component C1 along with C6, I need to see it.

Thank you.

Sachin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 20, 2020
If you are using below JQL, you should be able to see all the issues as IN operator finds all issues that has C1 or C2 or C3 or C4 or C5 or C6: 

project = Project AND component in (C1, C2, C3, C4, C5, C6)"
PROJ-1000
PROJ-1001
PROJ-1002
PROJ-1004
PROJ-1005
PROJ-1006

you can also try using:
project = Project AND component = C1 OR component = C2 OR component = C

I can't tell what is the issue here, but I would recommend you to reindex your project and verify if it's working. Meanwhile,

CA July 20, 2020

Thank you for the answer @Sachin ,

Unfortunately first approach doesn't work for me because components list may goes C1 to C100 with so many combinations and it brings unrelated items for my case. For instance, in my example 
With the query

project = Project AND component in (C1, C2, C3, C4, C5, C6)

it also brings the PROJ-1005 and this ticket should not be in my list.

However you last suggestion might work since I don't have so much component to filter.

Thanks again

Sachin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 20, 2020

Yeah, that is a huge list. You can combine filters if you like or find issues in components that are led by a specific user:

componentsLeadByUser() 
componentsLeadByUser(username)

Jim Foster
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
September 21, 2021

I have similar frustrations with a basic or quick search not matching on partial words. For example I have an issue in my service desk where the body/comment contains the submitter's email address - no results returned searching on part of the email - it has to be the full exact word: 

Search | Result

john | no results

bee | no results

johnbee2@hotmail.or | no results

johnbee2@hotmail.org | 14 issues matching 

Why is advanced super JQL search required for a simple partial match search. Dumb. 

 

I have no help to offer, just confirming search is too dumb for me, too. 

We are on cloud. 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events