---
title: "Enhanced querying with JQL"
canonical: "https://docs.getxray.app/space/XRAY/301501338/Enhanced%20querying%20with%20JQL"
format: markdown
---
> Macro (toc)

## JQL Functions


The following JQL functions are available for querying Xray issues in the Issue Search Page. They enable you to query the relationships between Xray issue types. 

<span style="color: #172b4d">testExecutionTests</span>

| **JQL Function** | **Parameters** | <span style="color: #000000">**Description**</span> | **Example** |
| --- | --- | --- | --- |
| **testTestSet** | P1 - Test Issue Key | Returns a list of Test Set issues associated with the input Test issue key. | `issuetype = 'Test Set' `<br>`   and key in testTestSet('DEMO-1')` |
| **testSetTests** | P1 - Test Set Issue Key/Filter of Test Sets | Returns a list of Test issues associated with the input Test Set issue key. | `(1) `<br>`issuetype = 'Test'  and key in testSetTests('DEMO-5')`<br>`(2) `<br>`issuetype = 'Test' `<br>`   and key in testSetTests('Test sets saved filter')` |
| **testsWithNoTestSet** | P1 - Saved filter Name/ID | Returns a list of Test issues not associated with a Test Set. | `(1) `<br>`issue in testsWithNoTestSet()`<br>`(2) `<br>`issue in testsWithNoTestSet("saved_filter")` |
| **testPreConditions** | P1 - Test Issue Key | Returns the Pre-Condition issues associated with the input Test issue key. | `issuetype = 'Pre-Condition' `<br>`   and key in testPreConditions('DEMO-1')` |
| **preConditionTests** | P1 - Pre-Condition Issue Key | Returns the Test issues associated with the input Pre-Condition issue key. | `issuetype = 'Test' `<br>`   and key in preConditionTests('DEMO-1')` |
| **testRequirements** | P1 - Test Issue Key/Filter name of Tests | Returns a list of Requirement issues associated with the input Test issue key/Filter of tests. | `(1)`  
`issuetype = 'Feature' `<br>`   and key in testRequirements('DEMO-1')`<br>(2)<br>`issuetype = 'Feature'`<br>`   and key in testRequirements('Tests saved filter')` |
| **requirementTests** | P1 - Requirement Issue Key/Filter of Requirement Issues | Returns a list of Test issues associated with the input Requirement issue key or saved filter with Requirements. | `(1)`<br>`issuetype = 'Test' `<br>`   and key in requirementTests('DEMO-10')`<br>`(2)`<br>`issuetype = 'Test' `<br>`   and key in requirementTests('Requirements saved filter')` |
| **testsWithReqVersion** | P1 - Project Name/Key/Id<br>P2 - Fix Version * ** ** *<br>*P3 - Fix Version (Optional)*<br>*...*<br>*Pn - Fix Version (Optional)* | Returns a list of Test issues associated with the Requirement issues of the input Fix Versions of the specified project. | `issuetype = 'Test' `<br>`   and issue in `<br>`   testsWithReqVersion('DEMO', `<br>`                       'v1.0', 'v1.1')` |
| **testsWithTestSetVersion** | P1 - Project Name/Key/Id<br>P2 - Fix Version * *<br>*P3 - Fix Version (Optional)*<br>*...*<br>*Pn - Fix Version (Optional)* | Returns a List of Test issues associated with the  Test Set issues of the input Fix Versions of the specified project. | `issuetype = 'Test' `<br>`   and issue in `<br>`   testsWithTestSetVersion( 'DEMO', `<br>`                           'v1.0', 'v1.1')` |
| **testExecutionTests** | P1 - Test Execution Issue Key/Id or Filter ID<br>P2 - Test Run Status list separated by "|"(pipe) *(Optional)*<br>*P3 - User assigned to execute Test Run (Optional).*<br>*P4 - Defects Flag with value in true or false (*<span style="color: #172b4d">needs to be  </span>**true **<span style="color: #172b4d">or </span>**false***).*<br>P5 - User who executed the Test Run (optional).<br><span style="color: #172b4d">P6 - Existence of comments (</span>*<span style="color: #172b4d">Optional</span>*<span style="color: #172b4d">)</span><br><span style="color: #172b4d">P7 - Existence of evidences (</span>*<span style="color: #172b4d">Optional</span>*<span style="color: #172b4d">)</span><br><span style="color: #172b4d">P8 - Started from (symbols</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>**<span style="color: #172b4d">></span>**<span style="color: #172b4d">/</span>**<span style="color: #172b4d"><</span>**<span style="color: #172b4d"> </span><span style="color: #172b4d"> </span><span style="color: #172b4d">are read as</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>*<span style="color: #172b4d">bigger, exactly</span>*<span style="color: #172b4d">/</span>*<span style="color: #172b4d">smaller or exactly</span>*<span style="color: #172b4d">, respectively; the</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>**<span style="color: #172b4d">=</span>**<span style="color: #172b4d"> </span><span style="color: #172b4d"> sign </span><span style="color: #172b4d">or the full absense of signs is read as</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>*<span style="color: #172b4d">exactly</span>*<span style="color: #172b4d">)</span><br><span style="color: #172b4d">P9 - Finished on (symbols</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>**<span style="color: #172b4d">></span>**<span style="color: #172b4d">/</span>**<span style="color: #172b4d"><</span>**<span style="color: #172b4d"> </span><span style="color: #172b4d"> </span><span style="color: #172b4d">are read as</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>*<span style="color: #172b4d">bigger, exactly</span>*<span style="color: #172b4d">/</span>*<span style="color: #172b4d">smaller or exactly</span>*<span style="color: #172b4d">, respectively; the</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>**<span style="color: #172b4d">=</span>**<span style="color: #172b4d"> </span><span style="color: #172b4d"> sign </span><span style="color: #172b4d">or the full absense of signs is read as</span><span style="color: #172b4d"> </span><span style="color: #172b4d"> </span>*<span style="color: #172b4d">exactly</span>*<span style="color: #172b4d">)</span> | Returns a List of Test issues associated with the input Test Execution issues from *P1 *optionally filtered by the current test run status for each Test issue.<br>Parameter *P1* can either be a single Test Execution issue key, an ID or a saved filter containing multiple Test Execution issues.<br>Possible Test Run Status values are: PASS, FAIL, EXECUTING, ABORTED, TODO and all custom statuses.<br>P3 corresponds to the user assigned to execute the Test Run, while P5 corresponds to the one who actually executed it. For analyzing the joint values of all Test Run Assignees, "" should be used. For taking into account the Test Runs without any Assignee, then "__NULL__" should be used.<br>If you pass true as the value for P4, the query returns all Tests from a particular set of Test Executions where no Defects were created. | `(1)`<br>`issuetype = 'Test' `<br>`   and issue in testExecutionTests('DEMO-9')`<br>(2)<br>`issuetype = 'Test' `<br>`   and issue in testExecutionTests('DEMO-9', `<br>`                                   'PASS')`<br>(3)<br>`issuetype = 'Test' `<br>`   and issue in testExecutionTests('DEMO-9', `<br>`                                   'PASS', `<br>`                                    'user A')`<br>(4)<br>`issuetype = 'Test' `<br>`   and issue in testExecutionTests(`<br>`                      'Saved Test Execution Filter', `<br>`                      'PASS')`<br>(5)<br>`issuetype = 'Test' `<br>`   and issue in testExecutionTests(`<br>`                      'Saved Test Execution Filter', `<br>`                      '',`<br>`                      'user A')`<br>(6)<br>`issue in testExecutionTests(`<br>`                      'Saved Test Execution Filter', `<br>`                      '',`<br>`                      'user A', 'true')`<br>(7)<br>`issue in testExecutionTests(`<br>`                      'Saved Test Execution Filter', `<br>'','', 'false', 'admin')<br>(8)<br><span style="color: #172b4d">issuetype = 'Test' </span><br><span style="color: #172b4d">and issue in testExecutionTests(</span><br><span style="color: #172b4d">'CALC-397',</span><br><span style="color: #172b4d">'',</span><br><span style="color: #172b4d">'',</span><br><span style="color: #172b4d">'false',</span><br><span style="color: #172b4d">'',</span><br><span style="color: #172b4d">'true',</span><br><span style="color: #172b4d">'false',</span><br><span style="color: #172b4d">'>2016-05-31',</span><br><span style="color: #172b4d">'<2016-06-30')</span> |
| **testsWithoutTestExecution** | P1 - Saved filter Name/ID | Returns a list of Tests that are not associated with a Test Execution to be executed | `(1)`<br>`issuetype = Test and issue in testsWithoutTestExecution()`<br>`(2)`<br>`issuetype = Test and issue in testsWithoutTestExecution("saved_filter")` |
| **requirements** | P1 - Status list separated by "|"(pipe)<br>P2 - *Project (Optional)*<br>* **P3 - Version to calculate requirement status (Optional)** *<br>* **P4 - Test Environment (Optional)*  
* *<br>* **P5 - Flat (Optional)** *<br>*P6 - ToDate (Optional)*<br>*P7 - Saved Filter (Optional)* | Returns a list of Requirement Issues with the provided coverage status.<br>Please provide *Project* parameter (P2) to restrict the requirements to the specified project.<br>If analyzing on a specific version, then the *Project and* * Version *parameters must be filled.<br><u>Optional</u> filters include:<br>*Test Environment*, for taking into account the Test Executions made for that environment. For analyzing the joint values of all environments, "" should be used. For taking into account the Test Executions without any Test Environment assigned, then "__NULL__" should be used.<br>*Flat *that indicates whether all Requirements (not only parents) should be searched. If "Flat" is not provided, the default value is 'false'.<br>*ToDate *considers only those requirements executions before a specific date/time (the date literal must follow the ISO8601 format).<br>*Saved Filters* considers only requirements from that specific filter. | `(1)`<br>`issue in requirements('OK','Calculator')`<br>> ⚠️ **Please note**
> ⚠️ 
> ⚠️ Although optional, it is highly recommended to specify the *Project* parameter as means to define the project having the requirments and thus reduce the amount of issues that will be processed/returned. Otherwise, requirements from *all* JIRA projects will be processed, which possibly is something that you don't want or need at all.<br>`(2)`<br>`priority = Major and fixVersion <= 'v3.0' and`<br>`   issue in requirements('NOK', 'Calculator', 'V4.0')`<br>`(3)`<br>`issue in `<br>`   requirements('NOK', '', '', '', '','2014-01-01')`<br>`(4)`<br>`issue in `<br>`   requirements('OK',`<br>`             'Calculator',  `<br>`             'v1.0',`<br>`             'chrome' `<br>`             'false'`<br>`             '2014-08-30')`<br>`(5)`<br>`issue in `<br>`   requirements('NOK',`<br>`             'Calculator',  `<br>`             'v2.0',`  
`             '',`<br>`             'true')`<br>`(6)`  
`issue in`  
`    requirements('NOK',`  
`                 'Calculator',`  
`                 'v2.0',`  
`                 'chrome',`  
`                 'false',`  
`                 ' ',`  
`                 'Requirements saved filter')` |
| **requirementsWithStatusByTestPlan** | P1 - Status list separated by "|"(pipe)<br>P2 - Test Plan Issue Key<br>*P3 - Test Environment (Optional)*<br>*P4 - Flat (Optional)*<br>*P5 - ToDate (Optional)*<br>*P6 - Project (Optional)*<br>*P7 - Saved Filter (Optional)* | Returns a list of Requirement Issues with the coverage status calculated for the given Test Plan issue.<br><u>Optional</u> filters include:<br>*Test Environment*, for taking into account the Test Executions made for that environment. For analyzing the joint values of all environments, "" should be used. For taking into account the Test Executions without any Test Environment assigned, then "__NULL__" should be used.<br>*Flat *that indicates whether all Requirements (not only parents) should be searched. If "Flat" is not provided, the default value is 'false'.<br>*ToDate *considers only those requirements executions before a specific date/time (the date literal must follow the ISO8601 format).<br>*Project* and *Saved Filters* considers only requirements from that specific project or filter. | `(1)`<br>`issue in `<br>`    requirementsWithStatusByTestPlan('OK', 'TP-123')`<br>`(2)`<br>`issue in `<br>`    requirementsWithStatusByTestPlan('NOK', `<br>`                                    'TP-123',`<br>`                                    '',`<br>`                                    'true')`<br>(3)<br>`issue in `<br>`    requirementsWithStatusByTestPlan('NOK', `<br>`                                    'TP-123', `<br>`                                    'Android',`<br>`                                    'false',`<br>`                                    '2014-01-01')`<br>`(4)`  
`issue in`  
`    requirementsWithStatusByTestPlan('NOK',`  
`                                     'TP-123',`  
`                                     'Android',`  
`                                     'false',`  
`                                     ' ',`  
`                                     'Calculator',`  
`                                     'Requirements saved filter')` |
| **defectsCreatedDuringTesting** | P1 -  Test Issue Key/Filter of Test Issues | Return a list of defects created during the execution of the specified Tests. | `(1)`<br>`issue in defectsCreatedDuringTesting()`<br>`(2) `<br>`issue in defectsCreatedDuringTesting("TEST-123") `<br>`(3) `<br>`issue in defectsCreatedDuringTesting("saved_filter")` |
| **defectsCreatedDuringTestExecution** | P1 - Test Execution issue Key or Test Execution based Filter<br>*P2 - List of users separated by "|" (pipe). (Optional)* | Returns a list of Defects created during the execution of the specified Test Executions; can optionally be filtered by the Defect Issue Assignee username. | `(1) issue in `<br>`   defectsCreatedDuringTestExecution(TEST-123)`<br>`(2) issue in `<br>`   defectsCreatedDuringTestExecution(saved_filter)`<br>`(3) issue in `<br>`   defectsCreatedDuringTestExecution(saved_filter, 'user1|user2')`<br>`(4) issue in `<br>`   defectsCreatedDuringTestExecution(TEST-123, 'user1|user2')` |
| **defectsCreatedForRequirement** | P1 - Requirement key or saved filter | Returns a list of defects created during the execution of Tests covering the specified requirements. | `(1) `<br>`issue in defectsCreatedForRequirement("REQ-123")`<br>`(2) `<br>`issue in defectsCreatedForRequirement("saved_filter")` |
| **manualTestsWithoutSteps** | P1 - Saved filter Name/ID | Returns a list of manual tests that have no test steps. | `(1) `<br>`issue in manualTestsWithoutSteps()`<br>`(2) `<br>`issue in manualTestsWithoutSteps("saved_filter")` |
| **testTestExecutions** | P1 - Test Issue Key/Id or Filter Name/Id<br>*P2 - Test Run Status list separated by "|"(pipe)* *(Optional)* | Returns a list of test executions associated with the input Test Issues from *P1 *optionally filtered by the current Test status in each Test Execution issue.<br>Parameter *P1* can either be a single Test issue key or Id or a saved filter name or id containing multiple Test issues.<br>Possible Test Run Status values are: PASS, FAIL, EXECUTING, ABORTED, TODO and all custom statuses. | `(1)`<br>`issuetype = 'Test Execution' `<br>`   and issue in testTestExecutions('DEMO-9')`<br>(2)<br>`issuetype = 'Test Execution' `<br>`   and issue in testTestExecutions('DEMO-9', `<br>`                                   'PASS')`<br>(3)<br>`issuetype = 'Test Execution' `<br>`   and issue in testTestExecutions(`<br>`                      'Saved Test Filter', `<br>`                      'PASS')` |
| **testExecWithTestRunsAssignedToUser** | *P1 - Username (Optional)*<br>*P2 - Status (Optional) Username is required in case we use this parameter* | Returns a list of test executions where a user has at least one test run assigned to him. You can optionally specify a user with P1, or if the user is omitted the current user will be used. Note that if you are not logged in to JIRA, a user must be specified.<br>If you use status parameter then user is required | (1)<br>`issuetype = 'Test Execution' and`<br>`  issue in testExecWithTestRunsAssignedToUser()`<br>(2)<br>`issuetype = 'Test Execution' and`<br>`  issue in testExecWithTestRunsAssignedToUser('userDPC')`<br>(3)<br>`issuetype = 'Test Execution' and`<br>`  issue in testExecWithTestRunsAssignedToUser('userDPC', "FAIL")` |
| `testSetPartiallyIn` | P1 - Test Execution Issue Key/Test Plan Issue Key/Id or Filter Id | Return a list of Test Sets that have at least one test in  *P1*. | (1)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetPartiallyIn('DEMO-15')`<br>(2)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetPartiallyIn('testExecList')`<br>(3)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetPartiallyIn('testPlanList')` |
| `testSetFullyIn` | P1 - Test Execution Issue Key/Test Plan Issue Key/Id or Filter Id | Return a list of Test Sets that have all its tests in   *P1* . | (1)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetFullyIn('DEMO-15')`<br>(2)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetFullyIn('testExecList')`<br>(3)<br>`issuetype = 'Test Set' and`<br>`  issue in testSetFullyIn('testPlanList')` |
| **testPlanTests** | P1 - Test Plan Key/ Filter of Test Plans<br>*P2 - Status (Optional)*<br>*P3 - Environment (Optional)* | Returns a list of tests that are associated with the test plan.<br>The "status" parameter is optional and allows to filter Test issues in a specific Plan with the specified execution status. If the "status" parameter is present, users might also pass the "environment" parameter. If this parameter is filled, Xray will provide all Tests in a Test Plan that are in the specified "status" and for the specified "environment". | (1)<br>`issue in testPlanTests("DEMO-10")`<br>`(2)`<br>`issue in testPlanTests("Test Plans saved filter","TODO")`<br>(3)<br>`issue in testPlanTests("DEMO-10","TODO")`<br>(4)<br>issue in testPlanTests("DEMO-10","TODO","IOS")<br>> ⚠️ When searching for Tests with a certain status inside a Test Plan, we recommend you to use the custom field search instead.
> ⚠️ 
> ⚠️   
> ⚠️ Xray has created a new way of searching with big improvements when filtering by test status, using the Custom Fields:  
> ⚠️ (3)  
> ⚠️ issuetype = Test and TestRunStatus = "DEMO-10 - TODO"  
> ⚠️ (4)  
> ⚠️ issuetype = Test and TestRunStatus = "DEMO-10 - TODO environment:IOS" |
| **testPlanTestExecutions** | P1 - Test Plan Key/Filter of Test Plans | Returns a list of test executions that are associated with a Test Plan or a saved filter of Test Plans. | `(1)`<br>`issue in testPlanTestExecutions("DEMO-10")`<br>(2)<br>`issue in testPlanTestExecutions("Test Plans saved filter")` |
| **testPlanRequirements** | P1 - Test Plan Key/Filter of Test Plans | Returns the Requirement issues that are indirectly associated, through Test issues, with a Test Plan or a saved filter of Test Plans. | (1)<br>`issue in testPlanRequirements("DEMO-20")`<br>`(2)`<br>`issue in testPlanRequirements("Test Plans saved filter")` |
| **testTestPlan** | P1 - Test Issue Key | Returns a List of Test Plan issues associated with the input Test issue key. | `issuetype = 'Test Plan' `<br>`   and key in testTestPlan('DEMO-1')` |
| <span style="color: #333333"> </span>**<span style="color: #333333">testRepositoryFolderTests</span>**<span style="color: #333333"> </span> | P1 - Project Key<br>P2 - Folder Path<br>*P3 - Flatten (Optional)* | Returns the list of Tests contained in a folder (P2) of the Test Repository of a Project (P1)<br>May optionally include the Tests in sub-folders by setting Flatten (P3) to "true". | (1)<br>issue in testRepositoryFolderTests("CALC", 'Parent/Child')<br>(2)<br>issue in testRepositoryFolderTests("CALC", 'Parent/Child', "true") |
| **testPlanFolderTests** | P1 - Test Plan Key<br>P2 - Folder Path<br>*P3 - Flatten (Optional)*<br>*P4 - Test Run Status (Optional)*<br>*P5 - Test Environment (Optional)* | Returns the list of Tests contained in a folder (P2) of a Test Plan (P1).<br>May optionally include the Tests in sub-folders by setting Flatten (P3) to "true".<br>Can also filter by Tests Run Status (P4) for a given Test Environment (P5).<br>To analyze the joint values of all Test Environments, "" should be used. To analyze the Test Executions without any Test Environment assigned, then "__NULL__" should be used. | (1)<br>issue in testPlanFolderTests(CALC-10, 'Parent/Child')<br>(2)<br>issue in testPlanFolderTests(CALC-10, 'Parent/Child', "true")<br>(3)<br>issue in testPlanFolderTests(CALC-10, 'Parent/Child', "true", "TODO|FAIL", "windows") |
| **projectParentRequirements** | P1 - Project Key | Returns the list of Requirement issues, from a given Project, which are not Sub-requirements | (1) issue in projectParentRequirements("CALC") |
| **testExecutionsWithCompletedTestRunsSince** | P1 - Date<br>P2 - Filter ID/Name (Optional) | Return the list of Test execution (belonging to the given filter) that have Test Runs finished since the given date. | (1) issue in testExecutionsWithCompletedTestRunsSince(2022-01-01)<br>(2) issue in testExecutionsWithCompletedTestRunsSince(2022-01-01 12:00, "Current Sprint TestExecs")<br>(3) issue in testExecutionsWithCompletedTestRunsSince(-3d, 10101) |
| **testPlansWithCompletedTestRunsSince** | P1 - Date<br>P2 - Filter ID/Name (Optional) | Return the list of Test Plans (belonging to the given filter) that have Test Runs finished since the given date. | (1) issue in testPlansWithCompletedTestRunsSince(2022-01-01)<br>(2) issue in testPlansWithCompletedTestRunsSince(2022-01-01 12:00, "Current Sprint TestPlans")<br>(3) issue in testPlansWithCompletedTestRunsSince(-3d, 10101) |


## Custom Fields


Xray also provides custom fields to allow more refined queries when searching for issues.


| **JQL Function** | **Issue Type** | **Description** | **Example** |
| --- | --- | --- | --- |
| **Test Type** | Test | The Test type: Manual; Cucumber; Generic | `issuetype = 'Test' `<br>`   and "Test Type" = "Manual"` |
| **TestRunStatus** | Test | This is a calculated custom field that provides the **latest Test Run status **based on the current "Test Run Status Version Strategy" option configured in the Xray administration.<br><u>Syntax</u>:  TestRunStatus = "[**Group (*****version***** or *****TestPlan*****)**] - [**Status**] environment:[**environment**]**"**  
  
Only the **Status** is mandatory; if only the status is provided, Xray will assume you are searching for the latest execution<br>Xray will lookup for all Tests with **Status** in that particular **version **and** environment.**<br>Read more about [Status](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301669557) and[ environments](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301665065).<br>> ℹ️ **Test Run Status**
> ℹ️ 
> ℹ️ The latest Test Run Status is calculated based on the latest final Test Run (i.e., latest finish date) or, in case there are no final Test Runs, the latest non-final Test Run (i.e., latest start date). Please see the [custom fields preferences page](https://getxraydocs.atlassian.net/wiki/pages/createpage.action?spaceKey=xray&title=Custom%20Fields&linkCreation=true&fromPageId=301501338).
> ℹ️ 
> ℹ️ 
> ℹ️ For consistent results when searching for TestPlan results, filter with the testPlanTests function. | `issuetype = 'Test' `<br>`   and TestRunStatus in ("FAIL", "ABORTED")`<br>_<br>`issuetype = 'Test' `<br>`and TestRunStatus = "PASS"`<br>_<br>`issue in testPlanTests("TESTPLAN-123")`<br>`and TestRunStatus = "TESTPLAN-123 - PASS"`<br>_<br>`issue in testPlanTests("TESTPLAN-123")`<br>`   and TestRunStatus = "TESTPLAN-123 - TODO"`<br>_<br>`issuetype = 'Test' `<br>`   and TestRunStatus = "FAIL environment:Android"`<br>`-`  
`issuetype = 'Test' `<br>`   and TestRunStatus = "v3.0 - PASS environment:Android"`<br>_<br>`issue in testPlanTests("TESTPLAN-123")`<br>`   and TestRunStatus = "TESTPLAN-123 - PASS environment:Android"` |
| **Requirement Status** | Requirement | This is a calculated custom field that provides the **requirement coverage status.**<br>Possible status values are:<br>OK - All tests passed the requirement<br>NOK - At least one test failed<br>NOTRUN - At least one test did not run<br>UNCOVERED - The requirements is not associated with tests<br>**testTestExecutions**<br><span style="color: #003366">Syntax</span>: "Requirement Status" = "[**Group (version or TestPlan)**] - [**Status**] environment:[**environment**]**"**  
  
Only the **Status** is mandatory; if only the status is provided, Xray will assume you are searching for the latest execution<br>Xray will lookup for all Requirements with **Status** in that particular **version **and** environment.**<br>Read more about ** **[**Status**](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301669557)** and**[** environments**](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301665065)**.**<br>> ℹ️ **Requirement Coverage**
> ℹ️ 
> ℹ️ For more information, please check out our page dedicated to [requirements coverage](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301662486).
> ℹ️ 
> ℹ️ If the  [Requirements Coverage Strategy](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301504155) depends on the version, then you must also include the actual version name and the status when you do the search. The syntax:  **"[version name] - [status]"** | `issuetype = 'New Feature' `<br>`   and "Requirement Status" = "OK"`<br>`_`<br>`issuetype = 'New Feature' `<br>`   and "Requirement Status" in ("NOTRUN", "UNCOVERED")`<br>_<br>`issuetype = 'New Feature' `<br>`and "Requirement Status" = "v1.0 - OK"`  
`-`<br>`issuetype = 'New Feature' `<br>`   and "Requirement Status" = "v1.0 - OK environment:Android"` |
| **Steps Count** | Test | The <span style="color: #505050">number of Steps in a Manual Test</span> | `issuetype = 'Test' `<br>`   and "Steps Count" = 3` |
| **Manual Test Steps** | Test | Find Tests by text present in the Manual Test Steps fields | `issuetype = 'Test' `<br>`   and "Manual Test Steps" ~ "Login with user administrator"` |



> ⚠️ The **Test Set Status** and **Test Plan Status** custom fields, mentioned in [Custom Fields](https://getxraydocs.atlassian.net/wiki/spaces/XRAY/pages/301474590), are not queryable.