---
title: "Issues with subtasks"
canonical: "https://support.appfire.com/space/JQLSEARCH/1348927877/Issues%20with%20subtasks"
format: markdown
---
> Macro (aura-html)

> ℹ️ The examples on this page describe how to build a JQL search using [JQL Search Extensions](https://marketplace.atlassian.com/plugins/jql-extensions/cloud/overview).

## Issues with subtasks JQL functions

> ℹ️ **JQL functions** are accessible from the [Extended Search](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209464) page or [Extended Search filters](https://appfire.atlassian.net/wiki/spaces/JQLSEARCH/pages/604209567) in Jira advanced search. When using functions, the issues returned are based on the subquery defined in parentheses.

### parentsOfSubtasksInQuery()

For a given JQL subquery, it finds the parents of the resulting subtasks.

**Examples**

`issue in parentsOfSubtasksInQuery("status='To Do'") and status='Done'` finds finished issues that have unfinished subtasks  
`issue in parentsOfSubtasksInQuery("assignee=currentUser()")` finds parents of my subtasksSubtasks JQL keywords

## Issues with subtasks JQL keywords

### subtasksCount

Search for issues that have a particular number of subtasks. 

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples**

Find issues with subtasks.

```
subtasksCount > 0 
```

### subtaskSummary

Search for issues that have subtasks where the summary contains particular text. 

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples**:

Find issues in which the subtask summary contains the text `Test`.

```
subtaskSummary ~ "Test"  
```

### subtaskKey

Search for issues that have subtasks with a particular key. 

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples**

Find issues with a subtask with key ABC-123.

```
subtaskKey = ABC-123
```

### subtaskPriority

Search for issues that have subtasks with a particular priority.

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples**

Find issues with subtasks that have a Blocker priority. 

```
subtaskPriority = Blocker
```

### subtaskIssueType

Search for issues that have subtasks with a particular issue type.

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples** 

Find issues with subtasks with the issue type Spike.

```
subtaskIssueType = Spike
```

### subtaskStatus

Search for issues that have subtasks with a particular status.

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples** 

Find issues that have subtasks in progress. 

```
subtaskStatus = "In Progress"
```

### subtaskStatusCategory

Search for issues that have subtasks with a particular status category.

**Supported operators**

| = | != | ~ | !~ | > | >= | < | <= | IS | IS NOT | IN | NOT IN | WAS | WAS IN | WAS NOT | WAS NOT IN | CHANGED |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :check_mark: | :check_mark: | :check_mark: | :check_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: | :cross_mark: |

**Examples**

Find issues that have subtasks in the To Do status.

```
subtaskStatusCategory = "To Do"
```