Skip to content

Jira - Search Issues (JQL)

↩ Part of the Jira integration.

Runs a JQL query against Jira Cloud (POST /search/jql) and returns the matching issues as an array. It is the entry point for batch automations: pull every open bug, every ticket assigned to a person, everything created yesterday, and process them one by one.

The node returns the issues array directly in data, so it plugs straight into an iterator.

FieldTypeRequiredDescription
credentials_idcredentialsYesJira credential
jqltextareaYesJQL query (e.g. project = OPS AND status = "To Do")
max_resultsnumberNoMaximum results. Defaults to 50
fieldstextNoComma-separated fields to return (e.g. summary,status)

jql accepts dynamic variables, so you can build the query from previous nodes. max_results and fields are used as-is; fields is split on commas and sent as an array.

This module requires a Jira (Atlassian) credential:

FieldDescription
base_urlSite URL, e.g. https://your-domain.atlassian.net
emailAtlassian account email
api_tokenAPI token from id.atlassian.com

data is the array of issues (never an object — if there are no matches you get []):

[
{
"id": "10042",
"key": "OPS-123",
"self": "https://your-domain.atlassian.net/rest/api/3/issue/10042",
"fields": { "summary": "Checkout returns 500", "status": { "name": "To Do" } }
},
{
"id": "10043",
"key": "OPS-124",
"fields": { "summary": "Email receipts not sent", "status": { "name": "To Do" } }
}
]

Along with it, _meta:

{ "moduleVersion": "1.0.0", "success": true, "count": 2, "totalMs": 356 }
{
"credentials_id": "jira_ops",
"jql": "project = OPS AND status = \"To Do\" ORDER BY created DESC",
"max_results": 50
}
{
"credentials_id": "jira_ops",
"jql": "project = OPS AND created >= -7d",
"max_results": 100,
"fields": "summary,status,assignee"
}
{
"credentials_id": "jira_ops",
"jql": "project = OPS AND assignee = \"{{data.account_id}}\" AND resolution = Unresolved"
}
  • Use ORDER BY inside the JQL to control the order; the node does not sort.
  • max_results caps what Jira returns in a single call — the node does not paginate automatically. For large sets, narrow the JQL (for example by date range) and run the node several times.
  • An invalid JQL comes back as a validation error with Jira’s own message, and is not retried.
  • Quotes inside JQL must be escaped when the value is written in a JSON field, as shown in the examples.