Skip to content

Pact

Pact User Guide

Pact puts working-time SLAs on ordinary Jira Software issues — a live countdown per issue, at-risk and breach emails, and a compliance report — without paying for Jira Service Management. It runs entirely inside your Atlassian cloud.

Issue panel

Live SLA state per policy: On track, At risk, Breached or Met, plus time remaining.

Any issue → Apps → SLA

Policy settings

Define SLA policies for a project — scope, statuses, budgets, calendars, alerts — with warnings for silently misconfigured policies.

Project settings → SLA

At-risk / breach emails

Notify the reporter and assignee when an issue nears or passes its SLA. Off until you switch it on.

Per policy

Compliance report

Met, on track, at risk and breached per policy, met %, the list of breached issues, and CSV export.

Project settings → SLA

It works out of the box

Open any issue, then click the Apps button in the issue view and choose SLA. The panel already shows a sensible default SLA derived from your project's own statuses, before you configure anything. That is the zero-config default; customize it whenever you want.

You only do this once per issue. Jira's newer issue view keeps app panels behind the Apps button until you pick them; after that the panel stays put. If an issue doesn't show SLA, that's where it is.

Define your own policies

Go to Project settings → SLA. A starter policy is pre-filled from your statuses — adjust it and Save, or Add policy for more. For each policy:

  • Name — What this SLA is called in the panel, the report and any emails.
  • Applies to — Optionally narrow the policy to certain issue types and priorities. Tick nothing and it covers every issue in the project. Ticking both narrows on both — type Bug plus priority Highest matches only high-priority bugs. This is how a tight SLA on incidents sits next to a loose one on everything else.
  • Clock runs while status is… — Tick the working statuses; the SLA clock ticks in these.
  • Stops (settles) when status becomes… — Tick the statuses that settle the SLA. Reaching one meets it. If the issue is reopened and goes back into a running status, the same clock resumes where it stopped — the budget covers every round of work. Moving on from a done status to one that is not ticked (Done → Closed) keeps it settled.
  • Budget (working hours) — How long the issue may spend in the running statuses.
  • At-risk at (%) — When to flag “At risk” before breach. Default 80%.
  • Business calendar — Working hours or 24/7 wall-clock. Working hours opens the calendar itself: the time zone — a real IANA zone, so daylight saving is followed and 09:00 stays 09:00 for your team all year — which days count, when the day starts and ends, and any holidays the clock should skip. A policy saved before this existed keeps behaving exactly as it did: Mon–Fri 09:00–17:00 UTC.
  • Email reporter + assignee — Off by default. Tick it once the thresholds look right — a new policy is a guess, and the sweep runs every five minutes, so it is deliberately opt-in.

Policies apply retroactively to open issues, computed from history, so you see states immediately — there is no backfill to wait for.

Policy warnings. After you save, Pact checks each policy for the misconfigurations Jira would happily accept but that make an SLA behave wrong: a status ticked as both running and stop (the clock stops there, so that time is never counted), a policy with no stop status (it can never settle, so every matching issue runs until it breaches), and two policies sharing a name. These are warnings, not blockers — fix them when an SLA isn't behaving as expected.

Alerts

When an issue crosses at risk or breach, Pact emails the reporter and assignee through Jira's own mail. Each state emails once, so there is no repeat spam. A five-minute sweep also catches purely time-based breaches — an issue that sits past its budget without any status change still triggers the alert.

Compliance report

In Project settings → SLA, click Run report. It scans up to 300 recent issues in the background, so it keeps going after you leave the page, and the result is stored — reopening the settings shows the last report instantly, with the timestamp it was built.

Every issue lands in exactly one bucket, and the four buckets add up to Issues:

  • Met — The clock reached a stop status inside the budget.
  • On track — Still running, still inside the budget and not yet at risk.
  • At risk — Still running and past the at-risk percentage, but not breached.
  • Breached — The budget was exceeded.

Met % (settled) is Met ÷ (Met + Breached). Work still in flight is not counted as a miss, so the number reflects decided cases only.

Under the tally, Breached issues lists which issues actually breached — key, summary, the policy they broke, how far past budget, and when. Click an issue key to open it. Export CSV gives you the tally, Export breaches the drill-down list.

Free vs paid

Free forever

The issue panel, policy configuration and at-risk / breach emails — on every project, any team size.

Paid — free up to 10 users

The compliance report, the breached-issue list, and both CSV exports. Above 10 users these need an active license; an admin can start a free trial under Jira Settings → Marketplace apps → Manage apps.

Troubleshooting

  • Panel shows “Default SLA” — No policy is set up yet, so it is using a sensible default derived from your statuses. Customize it in Project settings → SLA.
  • No emails — Email is off by default on a new policy. Check Email reporter + assignee is ticked and saved, and that the issue has a reporter and assignee. Emails send once per state by design.
  • Report shows a paywall — You are above the free tier without an active license. Start a trial as above; the panel, policies and emails keep working.
  • Wrong breach time — Check the policy's business calendar and which statuses count as running versus stop.
  • An issue never settles, or always breaches — Look for a policy warning on the settings page: a status that both runs and stops the clock, or a policy with no stop status, will do exactly this. Fix the flagged policy.

Data & privacy

Pact Runs on Atlassian — no external servers, no egress, no Slack or webhooks. Emails go through Jira's own in-tenant notification system. It stores only your policies and small per-issue alert and scheduling records in Forge storage.

Support: [email protected]