How to calculate on-call pay from Jira Service Management schedules
By Kayabyte · Updated 12 November 2026
Short answer: Jira Service Management Operations shows who is on call and keeps a timeline of who actually was, overrides included, but it has no report of on-call hours and standby pay per person. To pay people for being on call, take each schedule’s final timeline for the month, split every person’s time into the categories your pay rules use (office hours, evenings and nights, weekends, public holidays), and multiply by the rates. On-Call Pay does this inside Jira; the steps below work by hand too.
1. Write down the pay rules
Most standby agreements pay by when the time falls:
- Outside office hours on working days (mornings, evenings, nights): a standby rate per hour.
- Weekends: a higher rate.
- Public holidays: the highest rate, all day.
- Office hours: often not paid, because people are at work anyway.
Decide the time zone the rules use, the working days and office hours, and which country’s public holidays count. Decide too what happens when someone is on call in two schedules at once (usually: paid once).
2. Get the final on-call timeline
In Jira Service Management, open Operations → On-call schedules, pick the schedule and look at the timeline for the month. The final timeline already includes overrides and swaps. For a payroll report you need the start and end of every period per person, not just today’s on-call person.
Through the API (/jsm/ops/api/v1/schedules/{id}/timeline), each period is typed: “historical” periods are what was recorded, “base” periods are the plan for the future. Use only time that has passed. Note that on-call schedules can only be read with a person’s access: apps cannot read them in their own name.
3. Split each period into categories
Walk through every period day by day in the rules’ time zone:
- If the date is a public holiday, the whole overlap with that day is holiday time.
- Else, if it is not a working day, it is weekend time.
- Else, the part between office hours start and end is office time, and the rest is outside office hours.
Watch the daylight saving nights: the night the clocks go back is one hour longer, and the night they go forward is one hour shorter. Count real elapsed time, not wall-clock differences.
4. Add up per person and price it
Sum each person’s hours per category, merge overlapping periods from different schedules so they are paid once, and multiply by the hourly rates. Round the amount once per category, not per period, so rounding does not add up.
5. Keep the numbers
Save the month’s report when you send it to payroll. Schedules change, and a report run again later can look different.
A Jira app for it
On-Call Pay is a Jira Service Management app that does steps 2 to 5: hourly standby rates per category, your time zone and public holidays, hours and pay per person with a CSV for payroll, monthly snapshots saved on the 1st, and an on-call roster. It runs on Atlassian Forge and no data leaves Atlassian. It is in review at the Atlassian Marketplace.
FAQ
Does Jira Service Management have an on-call pay report? No. It shows schedules, timelines and who is on call, not hours and pay per person by category.
Do overrides count? Yes, if you use the final timeline: overrides replace the planned person for their time.
Can I get history for months before a schedule existed? No. On-call history starts when the schedule exists.
Jira, Jira Service Management, Opsgenie and Atlassian are trademarks of Atlassian. Kayabyte is an independent developer and is not affiliated with or endorsed by Atlassian.
More guides
- Atlassian Connect end of support: what Jira and Confluence admins should check before 31 January 2027
- How to delete old page versions in Confluence Cloud
- Apps to make a Confluence group watch a space or page, compared
- How to make a Confluence group watch a space or page
- Onboarding in Confluence: make new hires watch the right spaces automatically
- Confluence storage almost full? What counts and how to free it
- Apps to delete old Confluence page versions, compared
- Confluence watching but no email? 5 things to check
- How to track billable and non-billable hours in Jira
- How to calculate budget burn rate and run-out date in Jira
- Jira business days apps compared: JQL, Automation and holidays
- How to count business days between two dates in Jira
- How to see what a Jira epic costs from worklogs
- How to export Jira worklogs to Excel or CSV
- Make a Jira field read-only after approval or when closed
- How to handle hourly rate changes in Jira cost reports without changing past costs
- Jira project cost and budget apps compared: Tempo Financial Manager alternatives
- How to track project cost and budgets in Jira from worklogs
- How to see project cost from Tempo worklogs in Jira
- How to set a WIP limit per person in Jira
- How to see workload per assignee in Jira
- How to invoice Jira worklogs in Fiken
- How to invoice Jira worklogs in Fortnox
- How to invoice Jira worklogs in PowerOffice Go
- How to invoice Jira worklogs in Tripletex
- JQL with business days: find Jira work due within N working days
- Add a group as request participants in Jira Service Management
- JSM agent can’t find a customer in Request participants: what to check
- Add or remove request participants with Jira Automation
- CC a whole team on every Jira Service Management request
- Group request participants apps for Jira Service Management compared
- JSM organizations vs request participants: which to use
- Why adding request participants in bulk floods inboxes in Jira Service Management, and how to avoid it
- Stop agents or the reporter ending up as request participants
- How to add public holidays to a JSM SLA calendar
- Kanban WIP limit per person in Jira: beyond column limits
- What happens to your worklogs when you leave Tempo Timesheets (Jira Cloud)
- Opsgenie to Jira Service Management: on-call pay reports
- Purge Versions for Confluence after moving to Cloud: what replaces it