JQL Search




Elements Checklist offer a way to apply condition on Elements Checklist panels in JQL searches.

As Elements Checklist does not write data in custom fields, it provide a dedicated JQL function.






Server only

JQL search is only available on the Server version of Elements Checklist.

This is due to a limitation imposed by Atlassian: JIRA Cloud apps cannot provide JQL functions




Elements Checklist JQL function

Panel content can be used in JQL to search for issues. For this purpose, a JQL function is provided by Elements: 

Elements in elementsPanelsFilter("PANEL_NAME","QUERY")

Panel name

Name of the panel on which the filter shall be applied.

Panel names are unique per project, if multiple panels with the same name exists on multiple projects, the filter will match all of them.
To apply a filter on a specific panel, users must add a constraint on the project, ie: 

project = "Expense report" AND Elements in elementsPanelFilter(...

The panel name is case sensitive




Query


You can search for panels with the following attribute types : Text (simple or multi line), Number, Calculate, Checkbox, UserDate and Select.

We'll illustrate search functions with the following panel: 


Example Elements Checklist panel in Issue view


Example Elements Checklist panel configuration

Text (simple and multiline)

Text attributes can be searched like free text JQL search in JIRA (eg: summay ~ "elements")

OperatorArgumentDescription

~

a text

Fuzzy search on attribute content. Matches any element with an attribute value matching the query

Text containing spaces

Text argument containing spaces or special characters must be surrounded with quotes. See the examples below

Examples

Example

Result
Elements in elementsPanelsFilter("Expenses", "Comment ~ Eat")
Issues with an 'Expenses' panel with the word 'Eat' in the 'Comment' attribute (any line)
Elements in elementsPanelsFilter("Expenses", "Comment ~ 'Expo Hotel'")
Issues with an 'Expenses' panel with the words 'Expo' and 'Hotel' in the 'Comment' attribute (any line, any word order)

Number and calculate

Number and calculate results (not in error) can be searched in JQL like JIRA number custom fields.

OperatorArgumentDescription

=

A number

Matches attribute whose value is strictly equal to the number in parameter

<A numberMatches attribute whose value is strictly lower than the number in parameter
<=A numberMatches attribute whose value is strictly lower than or equal to the number in parameter
>A numberMatches attribute whose value is strictly bigger than the number in parameter
<=A numberMatches attribute whose value is strictly bigger than or equal to the number in parameter
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "Amount > 100")
Issues with an 'Expenses' panel having an 'Amount' attribute bigger than 100 (any line)
Elements in elementsPanelsFilter("Expenses", "Amount = 13")
Issues with an 'Expenses' panel having an 'Amount' attribute equals to 13 (any line)
Elements in elementsPanelsFilter("Expenses", "Amount <= 50")
Issues with an 'Expenses' panel having an 'Amount' attribute lower than or equals to 50 (any line)

Search on computed values

JQL Search can also be executed on computed values from a specific column. All the operators define above worked for following variants.

VariantArgumentDescription
sumColumn nameTotal all rows value for the given column name
avg (or average)Column nameAverage all rows value for the given column name
minColumn nameCheck all rows value and get the minimal one for the given column name
maxColumn nameCheck all rows value and get the maximal one for the given column name
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "sum(Amount) > 500")
Issues with an 'Expenses' panel having sum of all 'Amount' values bigger than 500
Elements in elementsPanelsFilter("Expenses", "avg(Amount) <= 50.2")
Issues with an 'Expenses' panel having average of all 'Amount' values less or equals than 50.2

Checkbox

Value

Checkbox can be searched in JQL

OperatorArgumentDescription

=

true

Matches any checked attribute

=falseMatches any unchecked attribute
=allTrueMatches panels with attribute having all lines checked
=allFalseMatches panels with attribute having all lines unchecked
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "Approved = true")
Issues with an 'Expenses' panel having at least one element with Approved checked
Elements in elementsPanelsFilter("Expenses", "Approved = allTrue")
Issues with an 'Expenses' panel having all elements with Approved checked
Elements in elementsPanelsFilter("Expenses", "Approved = allFalse")
Issues with an 'Expenses' panel having all elements with Approved unchecked

Percentage

You can also search on Percentage of complete / remaining checkbox attributes.

VariantArgumentDescription

checked

A number + "%"

Percentage of checkbox attributes which are completed

uncheckedA number + "%"Percentage of checkbox attributes which are remaining
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "checked(Approved) > 75%")
Issues with an 'Expenses' panel having more than 75% of checked 'Approved' attribute 
Elements in elementsPanelsFilter("Expenses", "unchecked(Approved) <= 50%")
Issues with an 'Expenses' panel having less than or equal to 50% of unchecked 'Approved' attribute

User

User can be searched in JQL using user id.

OperatorArgumentDescription

=

user name

Matches a user in an user attribute

Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "Manager = thomas")
Issues with an 'Expenses' panel having at least one element with Manager set to 'thomas'

Search is made on the user name, not the ful name.

Issue

Issue can be searched in JQL using issue key.

OperatorArgumentDescription

=

issue key

Matches an issue in an issue attribute

Examples
ExampleResult
Elements in elementsPanelsFilter("Tasks", "Bug = ELT-98")
Issues with a 'Tasks' panel having at least one element with Bug set to 'ELT-98' issue

Date

Dates can be searched in JQL like JIRA date custom field. We do not support date functions for now.

The date format is yyyy/mm/dd (eg. 2010/01/15)

OperatorArgumentDescription

=

A date

Matches attribute whose value is strictly equal to the date in parameter

<A dateMatches attribute whose value is strictly lower than the date in parameter
<=A dateMatches attribute whose value is strictly lower than or equal to the date in parameter
>A dateMatches attribute whose value is strictly bigger than the date in parameter
<=A dateMatches attribute whose value is strictly bigger than or equal to the date in parameter
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "Date > 2017/08/22")
Issues with an 'Expenses' panel having an Date attribute after 2017/08/22 (any line)
Elements in elementsPanelsFilter("Expenses", "Date = 2017/08/22")
Issues with an 'Expenses' panel having an Date attribute equals to 2017/08/22 (any line)
Elements in elementsPanelsFilter("Expenses", "Date <= 2017/08/22")
Issues with an 'Expenses' panel having an Date attribute before or equal to 2017/08/22 (any line)

Select

Select can be searched in JQL using select display value. It works for select with single or multiple values and will searched through all projects.

OperatorArgumentDescription

=

select value

Matches attribute whose value is strictly equal to the select string value in parameter

!=select valueMatches attribute whose value is strictly different to the select string value in parameter
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "Type = HOTEL")
Issues with an 'Expenses' panel having select attribute 'Type' equals to 'HOTEL' (any line)
Elements in elementsPanelsFilter("Expenses", "Type != PARKING")
Issues with an 'Expenses' panel having select attribute 'Type' different to 'PARKING' (any line)

If the value or attribute name is written in more than one word, wrap the text in quote, e.g : Elements in elementsPanelsFilter("Expenses", "Type != 'CAR WASH' ")

Query on panel

OperatorDescription
is empty (or isEmpty)Check if panel is empty
is not empty (or isNotEmpty)Check if panel is not empty
Examples
ExampleResult
Elements in elementsPanelsFilter("Expenses", "is empty")
Issues with an empty 'Expenses' panel
Elements in elementsPanelsFilter("Expenses", "is not empty")
Issues with a not empty 'Expenses' panel

Hints

It is not possible to add conditions on attributes of type File

Any attribute or value that contains spaces should also be surrounded with single quotes, example:

Elements in elementsPanelsFilter("Expenses report", "'Name of expense' ~ 'Lunch meal'")


Attributes supported


It is not possible to add conditions on attributes of types Components, File and Version.