Skip to content

Analytics and Reporting with Out of Office Data

Overview

JQL can be used to track and list which issues are affected by scheduled Out of Office rules, and to report on issues that have been reassigned by the Out of Office Assistant. These powerful analytics capabilities enable team leads to check for delayed issues, delivery teams to identify unavailable reporters, and automation systems to select available assignees.

Understanding Out of Office JQL Parameters

Issue Tracking and Reporting

Besides using JQL filters in the definition of a rule, JQL can also be used to track and list which issues are affected by scheduled rules. For example:

  • Team leads can build issue lists to check which issues may be delayed by upcoming leaves

  • Delivery teams can check whether reporters of completed issues are unavailable so that those issues can be communicated to other stakeholders

  • Assignment automations can check whether an assignee is out of office to then pick an available assignee

Out of Office Status Parameters

JQL searches can return, for example, a list of all issues with assignees that are not in the office today.

Basic Example:

  1. assignee.outofoffice.today = 1

This parameter evaluates every issue to check whether the assignee has an active rule today.

The same for reporters of an issue would be:

  1. reporter.outofoffice.today = 1

Of course you can combine it with other JQL fields:

  1. project = 'Product Support' AND assignee.outofoffice.today = 0

"0" in this case means, not out of office.

Time Parameters and Syntax

⚠️ Important: JQLs containing Out of Office status parameters will only show issues that are currently affected, and issues that will be affected by a scheduled rule. Issues that have been affected by an Out of Office rule before today will not be included.

JQL parameter

Meaning

assignee.outofoffice.tomorrow = 1

The assignee is not Out of Office tomorrow

assignee.outofoffice.nextstartdate >= 7d

The start of the next absence for the assignee of this issue is 7 days or more in the future

assignee.outofoffice.nextenddate < "2023/08/01"

The assignee of this issue is not absent before August 2023

reporter.outofoffice.thisweek = 1

The reporter is now absent or leaving this week

reporter.outofoffice.endofnextweek >= 0

The reporter returns from the next absence not before the end of next week

assignee.outofoffice."2023/03/17" = 1

Out of office on a specific date

assignee.outofoffice.nextstartdate <= 4d

The assignee is currently out of office or starts his leave within the next 4 days

Tracking Issues Reassigned by Out of Office

Building JQL for Reassignments

JQL can look up which issues have had their assignees changed by the app. In order to do this, the app must be called with the ID "59fb203e1c0767667b2ce0ad".

Here's a full example of the syntax for these queries:

  1. assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER "date1" BEFORE "date2" FROM "userID1" TO "userID2"
  • The JQL must contain the expression assignee CHANGED BY "59fb203e1c0767667b2ce0ad"

  • The AFTER and BEFORE parameters are optional and can be used to track assignee changes over a specific period of time

  • The FROM and TO parameters are also optional

Building Reports with Native Jira Gadgets

Reports for Current Out of Office Status

Gadget

Use Case

Sample Query

Filter Results

Issues assigned to an absent assignee

project in ("your project 1", "your project 2") AND assignee.outofoffice.today=1 ORDER BY created DESC

Issue Statistics

Absent assignees

project in ("your project 1", "your project 2") GROUP BY assignee.outofoffice.today

Two Dimensional Filter Statistics

Issues at risk per sprint

project in ("your project 1", "your project 2") AND sprint in openSprints() GROUP BY assignee.outofoffice.today

Filter Results

Epics at risk

project in ("your project 1", "your project 2") AND issuetype = Epic and assignee.outofoffice.today=1 ORDER BY created DESC

Filter Results

Customers waiting for absent agents

project = "your service desk project" AND assignee.outofoffice.today=1 ORDER BY created ASC

Reports for Reassignment Tracking

Gadget

Chart

Use Case

Sample Query

Filter Results

filter_results_out_of_office_issues.webp

Full list of issues reassigned by Out of Office

assignee CHANGED BY "59fb203e1c0767667b2ce0ad"

Two Dimensional Filter Statistics

issues_reassigned_out_of_office.webp

Identify how issues are being reassigned across the company

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d

Pie Chart

issue_status_pie_chart.webp

Track the progress of reassigned issues

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -14d

Pie Chart

main_coverers_chart.webp

Track the reassigned workload per coverer

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d

Issue Statistics

issue_statistics_reassigned_out_of_office.webp

Track the reassigned workload per coverer

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d

Two Dimensional Filter Statistics

issues_reassigned_out_of_office_report.webp

Creator to Coverer Path

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d TO ("user1","user2", "user3")

Pie Chart

issues_reassigned_pie_chart.webp

Assignee to Coverer Path

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d FROM ("user1","user2")

Issues Calendar

issues_calendar_december_2022.webp

Reassignment Calendar

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -30d

Created vs Resolved Chart

created_vs_resolved_chart_issues.webp

Track whether reassigned issues are being taken care of

assignee CHANGED BY "59fb203e1c0767667b2ce0ad" AFTER -60d

Advanced Analytics with Custom Charts for Jira or eazyBI

The Out of Office status can also be read by any reporting apps from the Atlassian Marketplace, like Custom Charts for Jira, or eazyBI that support JQL expressions.

Reporting on Story Points at Risk

Custom Charts can report on the story points associated to the issues, rather than the issues themselves. This allows to easily create insights related to the amount of story points that may not be completed, because they are currently assigned to users who are out of office.

To build this specific chart:

  1. Create a Custom Charts gadget

  2. Select Assignee in the CHART BY field

  3. Select SUM of Story Points in the CALCULATE BY field

  4. Adapt the query below:

  1. project = "your project" AND sprint in openSprints() AND assignee.outofoffice.today=1

Best Practices

Dashboard Design

These parameters open up a lot of possibilities for reporting in Jira dashboards. Custom Charts gadgets are very customizable, and can generate some insights that are not possible with native Jira reporting capabilities.

For more inspiration, you can read a blog article on 14 dashboard gadgets to nail capacity planning in Jira.

Performance Considerations

  1. Use project filters: Always include project constraints to improve query performance

  2. Limit time ranges: Use AFTER and BEFORE parameters to focus on relevant periods

  3. Save complex queries: Create saved filters for frequently used complex queries

  4. Test incrementally: Start with simple queries and add complexity gradually

Troubleshooting

No Results Found

If your JQL queries return no results:

  1. Verify the Out of Office Assistant is installed and active

  2. Check that users have active OOO rules configured

  3. Ensure the date format is correct: "YYYY/MM/DD"

  4. Test with a simple query first: assignee.outofoffice.today = 1


Analytics Status: ✅ COMPLETE
Next Step: JQL Filter Configuration Guide