Ticket coverage rate: PR-to-ticket traceability, in one number
Ticket Coverage Rate is the percentage of merged pull requests that link to at least one tracking ticket, plotted as an 8-week sparkline against a benchmark tier. It's the closest thing you have to real PR-to-ticket traceability — an audit trail for "why did this code change?" — and it's usually lower than people assume.
Ticket coverage rate, healthy tier.
What it measures, and where the data comes from
One ratio: of every pull request that merged in the window, what share reference at least one ticket — a Jira key in the title or description, a GitHub/GitLab issue link, or an Azure Boards work-item link. A PR needs exactly one recognized link to count; ten links don't score it higher than one.
- GitHub — pull requests, matched against linked issues and Jira keys found in the title or description.
- GitLab — merge requests, matched against linked issues and Jira keys the same way.
- Azure DevOps — pull requests, matched against linked work items and Jira keys, from the repos you've opted into code intel for.
The 8-week sparkline gives you trend alongside the current number, and the tier badge tells you where that number sits against the benchmark: Elite at 80% or higher, High at 60%, Medium at 40%. Below Medium is Low.
How to read it
Read the tier before the percentage. An 88% in the Elite band means the exceptions — the untracked 12% — are probably legitimate: a typo fix, a config tweak, a hotfix pushed before there was time to open a ticket. That's normal and healthy; don't chase 100%.
A number sitting in Medium or Low is a different story. That's not "a few PRs slipped through," that's a meaningful share of your delivered work with no record of what problem it solved or who asked for it. Six months from now, nobody — including the author — will remember why that PR exists.
What it tells you over time
The sparkline matters more than any single week's number. A steady climb usually means a process change stuck — a PR template field, a merge check, a habit. A steady decline is worth investigating immediately: something is making linking harder, or someone decided it wasn't worth the friction.
Watch it against PR volume too. Coverage and volume moving in opposite directions — more PRs, less linking — is the tell that people are taking shortcuts to hit a date, not that the process broke on its own.
Example situations
1. Coverage sits below the High band
Coverage stuck in Low, flat for weeks.
What you're seeing: just over half of merged PRs link to a ticket, and it's been sitting there for two months — this isn't a bad week, it's the baseline. Nearly half of what shipped has no recorded reason attached to it.
How to react: this is your audit and traceability gap, and it will bite you the first time someone asks "why do we have this code" during a security review, a compliance pass, or just onboarding a new hire. Don't turn this into a shaming exercise in standup — that just teaches people to fake a ticket number to get past you.
2. Coverage falling while PR volume rises
Coverage sliding as merge volume climbs — quick fixes going untracked.
What you're seeing: coverage has dropped from Elite territory to Medium over eight weeks, and it happened during a stretch where merge volume went up, not down. More is shipping, and a shrinking share of it is tracked.
How to react: this pattern is almost always scope creep hiding in "quick fixes" — small changes that felt too minor to justify opening a ticket, until there were enough of them to move a real number. The risk isn't any single untracked PR; it's that nobody can now say what the team actually built this quarter.
Frequently asked
- What is ticket coverage rate?
- The percentage of merged pull requests that link to at least one tracking ticket, shown as an eight-week sparkline against a benchmark tier. It is the closest available measure of pull-request-to-ticket traceability.
- Why does PR-to-ticket traceability matter?
- It is the audit trail for why a code change exists. Without it, questions about the origin of a change — for compliance, capitalisation, or a post-incident review — cannot be answered from the repository alone.
- What does a falling coverage rate indicate?
- Untracked work creeping in: changes being made outside the planning process. It is usually a symptom of process friction rather than deliberate avoidance.
Related widgets
- Bug Rate — untracked "quick fixes" often turn out to be undocumented bug fixes; check this alongside a coverage dip.
- Investment Allocation — once coverage improves, this shows what the newly-tracked work actually was.
- DORA Metrics — traceability gaps often sit next to the same process gaps that drag down lead time and change failure rate.
- Back to the widget reference.
Last updated