PR Link Rate Report

Last updated: October 27, 2026

PR Link Rate is the share of merged pull requests (PRs) that link to at least one issue in your issue tracker. It shows how much of your shipped code traces back to tracked work.

Why it matters

  • Traceability: linked PRs let you trace a production change back to the requirement, bug, or story behind it. That helps with audits, impact analysis, release notes, and change management.

  • Accurate planning data: issue lifecycle, allocation, and planning reports depend on PRs being linked to issues. Unlinked work is invisible to them.

  • Unplanned work: a falling link rate alongside rising PR volume often means untracked or unplanned work is growing.

PR Link Rate is a positive metric: higher is better.

How it works

PR Link Rate = merged PRs linked to at least one issue ÷ Total PRs merged × 100
  1. Span syncs issues from Jira, Linear, GitHub Issues, or Azure Boards. Each issue carries the PRs your tracker reports as linked to it, and Span stores those links.

  2. Each time Span rebuilds its PR data, it marks a PR as linked if any synced issue links to it.

  3. The numerator counts merged PRs by contributors that have a link. The denominator is Total PRs merged.

  4. Span dates each PR by its merge time.

What counts:

  • Merged PRs authored by people marked Contributor (and dev agents Span tracks).

  • A PR linked to one issue counts the same as a PR linked to five. It counts once.

  • Any issue type counts: bugs, stories, tasks, and sub-tasks.

What doesn't count:

  • Open, draft, and closed-without-merge PRs.

  • Reverted PRs. They leave both the numerator and the denominator.

  • PRs in repositories, branches, or from Git usernames you ignore under Settings > Metrics.

  • PRs from accounts Span can't map to a person or dev agent, which covers most bots.

Where to find it: Insights > Productivity > Velocity > Issue lifecycle, on the PR Link Rate card. The card shows the current value, a trend chart, a percentile rank, and breakdowns by team, person, or repository. You'll also find PR Link Rate in Targets, team and person Metrics tabs, and custom reports.

Low PR Link Rate signal: Span compares each team's link rate over the most recent 2 weeks with its rate over the 8 weeks before that. When the recent rate is 30 percentage points or more below the earlier rate, Span raises a Low PR Link Rate signal. The signal appears on the team overview in Span and in the daily brief.

Setup

  1. Connect a version control integration: GitHub, GitHub Enterprise Server, GitLab, or Azure DevOps. Bitbucket Cloud is also supported; Span turns it on for your organization on request.

  2. Connect an issue tracker: Jira, Linear, GitHub Issues, or Azure Boards. Without one, Span has no links to read and the rate stays at 0.

  3. Make sure the projects your teams work in are synced. Links to issues in projects Span doesn't sync don't count.

  4. To find unlinked PRs, open Catalog > Pull Requests, filter to merged PRs, and check the Linked issues column. You can also click the PR Link Rate chart to see the unlinked merged PRs for that period.

  5. To track it as a team norm, add PR Link Rate in Targets.

Practices that raise the link rate: a PR template with an issue link section, issue keys in branch names (for example feature/PROJ-123-add-login), a CI check that fails when a PR has no linked issue, and a link check in your review checklist. Agree as a team on which PR types need a link and how to handle hotfixes.

Things to know

  • Links added after merge count. Span re-checks links every time it rebuilds PR data, so a PR linked after it merged counts as linked in the period it merged. A cleanup that links old PRs raises your historical rate, and a snapshot you took last month may read lower than the same period today.

  • The signal uses percentage points, not a percent change. A drop from 80% to 55% is 25 points, so it does not raise a signal. A drop from 80% to 48% is 32 points, so it does. Worked example: a team's link rate over the previous 8 weeks was 80%. Over the last 2 weeks it merged 50 PRs and 24 were linked, a 48% rate. 48 − 80 = −32 points, which passes the 30-point threshold, and the signal appears.

  • Your tracker decides what a link is. Span reads the PR links your issue tracker records. Whether a branch name, commit message, or PR description creates a link depends on your tracker and its integration settings.

  • Some PRs are often unlinked on purpose. Dependency updates, docs-only changes, CI and configuration changes, and emergency hotfixes are common examples. Span doesn't categorize them for you; decide on a policy and set your target with them in mind.

  • Jira may show links Span doesn't count. A PR can look linked in Jira and unlinked in Span when the issue sits in an unsynced project, or the PR comes from an ignored repository or a person marked Non-contributor.

  • Read it next to other metrics. Low link rate together with a high % of PRs merged without review and a low % of PRs merged with tests points to a process gap. A high link rate measures that links exist, not that they point to the right issues.

Related articles

Total PRs Merged

% of PRs Merged Without Review

% of PRs Merged with Tests

Issues Completed / Week

Need help?

Contact your Span account team or reach out to support@span.app.