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:

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:

  1. If the date is a public holiday, the whole overlap with that day is holiday time.
  2. Else, if it is not a working day, it is weekend time.
  3. 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.