Scriptline / Docs / JQL functions and saved searches

JQL functions and saved searches

Last updated 03/11/2026

Scriptline adds twelve JQL functions to Jira's native search. They work in the search bar, saved filters, boards, dashboards and subscriptions.

Eleven built-ins (no script needed)

Each takes an inner JQL as its argument and supports in and not in:

linkedIssuesOf · subtasksOf · parentsOf · epicsOf · childrenOf · issuesInEpics · hasSubtasks · hasLinks · hasAttachments · hasComments · hasWorklogs

  1. Open Jira's work item search and switch to JQL.
  2. Type a query that uses a function, for example the one below.
  3. Run the search, then save it as a filter if you want to reuse it.
issue in linkedIssuesOf("project = ABC AND status = Blocked") AND priority = Highest

hooked(): your script as a search

  1. Open JQL functions in the sidebar and click New JQL hook.
  2. Write a script that returns either a JQL string or an array of work item keys (up to 1,000).
  3. Save it with a name such as unassigned-recent and enable it.
  4. In Jira search, use issue in hooked("unassigned-recent").

A broken hook returns no matches rather than breaking the search, so a saved filter never breaks, and every evaluation is recorded in Run history.

Saved complex searches

There is nothing app-specific to save: compose the query in Jira's own search, save it as a normal Jira filter, and use that filter on boards, dashboards and subscriptions. The JQL functions tab has a Try a search panel to preview a query's first matches before saving. Searches reflect hook changes immediately and data changes within a few minutes. Nesting one custom function inside another's argument is not supported; combine the logic in a single hooked() script instead.