Join SLA search functions
This page is about Time to SLA for Jira Data Center.
The slaJoin function ensures that all SLA conditions in a JQL query apply to the same SLA within an issue. This is useful when searching for issues with multiple SLAs, where standard JQL queries may return unintended results.
Prerequisites
Before using slaJoin
, ensure the following:
You are familiar with JQL (Jira Query Language). Learn more.
You are in Advanced search mode in Jira (SLA functions are not available in Basic mode).
Problem with standard SLA queries
By default, Time to SLA allows multiple SLAs per issue. This can lead to incorrect results when using direct SLA JQL queries.
Example 1:
The following query searches for issues where an SLA has finished and breached:
slaFunction = isFinished() AND slaFunction = isBreached()
However, this query may return incorrect results.
Scenario
Issue TP-1 contains two SLAs:
SLA 1 is finished.
SLA 2 is running but has breached.
Since SLA 1 meets isFinished()
and SLA 2 meets isBreached()
, issue TP-1 appears in the results—even though no single SLA meets both conditions.
Solution: Using slaJoin
To ensure that both conditions apply to the same SLA within an issue, use the slaJoin function:
slaFunction = slaJoin("slaFunction = isFinished() AND slaFunction = isBreached()")
Now, the query returns only issues where a single SLA is both finished and breached. Issue TP-1 is no longer included in the results.
Key rules for slaJoin
All functions inside
slaJoin
must be SLA 3.0 JQL functions.Inner queries can only use SLA-related parameters (for example, duration, date, or percentage).
To restrict results to specific SLAs, include the SLA ID or SLA Name in the query.
slaFunction = slaJoin("(slaFunction = isPaused() AND slaFunction = isBreached()) OR (slaFunction = isRunning() AND slaFunction >= elapsedPercentage(90))", 1, 2)
Using slaJoin
for complex queries
You can use more complex queries inside the slaJoin
function.
Example 1:
The following query returns:
Issues where an SLA is both finished and breached
OR issues where an SLA is running and has exceeded 90% of its duration
slaFunction = slaJoin("(slaFunction = isFinished() AND slaFunction = isBreached()) OR (slaFunction = isRunning() AND slaFunction >= elapsedPercentage(90))")
Example 2:
The JQL given below will filter and select issues that have breached their SLA and have a target date before January 1, 2023. It helps identify and prioritize issues that have missed their deadlines based on the defined SLA criteria.
slaFunction = slaJoin("slaFunction = isBreached() AND slaFunction < slaTargetDate('2023-01-01')")
Need support? Create a request with our support team.
Copyright © 2005 - 2025 Appfire | All rights reserved.