Integrating GitHub with Span

Last updated: June 9, 2026


Overview

The GitHub integration is one of the foundational data sources in Span. It captures the full lifecycle of your engineering work — from the first commit through code review, merge, and deployment — enabling Span to compute pull request, code quality, contributor activity, and DORA metrics across your organization.

Span supports both GitHub Cloud (github.com) and will be launching support for GitHub Enterprise Server (GHES) in the summer of 2026.

Setting Up the Integration

Step 1 — Connect GitHub

  1. Navigate to Settings → Integrations in Span.

  2. Click Connect next to GitHub.

  3. You'll be redirected to GitHub to authorize the Span GitHub App.

Step 2 — Install the GitHub App

During the authorization flow, you'll choose whether to grant access to:

  • All repositories in your organization, or

  • Selected repositories only

Span will only ever access repositories within the scope you grant.

Step 3 — Start Syncing

Once authorized, Span begins ingesting data from your repositories. Initial historical backfill may take some time depending on the size of your organization.

Multi-organization support: You can connect multiple GitHub organizations to a single Span workspace. Each organization's data is kept separate.

Permissions Required

The Span GitHub App uses read-only permissions only. It never writes to, modifies, or deletes data in your GitHub account.

Permission

Access

Purpose

contents

Read

Repository contents and code

pull_requests

Read

PR metadata, reviews, and comments

deployments

Read

Deployment events for DORA metrics

issues

Read

Issue linking to PRs

members

Read

Organization membership and team structure

metadata

Read

Repository names, branches, creation dates

organization_administration

Read

Org-level settings

organization_copilot_seat_management

Read

Copilot seat assignments (optional)

organization_projects

Read

GitHub Projects data

repository_projects

Read

Repository-level projects

statuses

Read

Commit status checks

Data Collected

Span reads the following data from GitHub:

Pull Requests

  • Title, description, status, and labels

  • All timestamps (opened, ready for review, merged, closed)

  • Full PR timeline events (review requests, approvals, dismissals, etc.)

  • File-level diffs (additions and deletions)

Code Reviews

  • Review state per reviewer (approved, changes requested, commented, dismissed)

  • Inline code comments and general PR comments

  • Review request history

Commits

  • Commit messages, authors, and timestamps

  • Commit-to-PR association

Repositories & Organization

  • Repository metadata (name, owner, default branch, visibility)

  • Organization teams and team membership

  • User accounts and organization membership

GitHub Copilot (optional)

  • Copilot seat assignments and activity

  • Accepted code suggestions (lines of code)

Metrics Powered by GitHub

PR Cycle Time

Span breaks down the full PR lifecycle into granular time intervals:

Interval

Definition

Coding

First commit → PR opened

Awaiting First Review

PR opened → first review

Reworking

First review → last action (addressing feedback)

Idling

Last action → merge

Deploying

Merge → production (requires deployment tracking)

Lead Time for Changes

First commit → production (requires deployment tracking)

Pull Request Metrics

  • PRs Merged / Week — Merge frequency per contributor

  • Weighted PRs / Week — PR volume scaled by size and complexity

  • PR Size — Lines added and removed per PR

  • % of PRs Merged Without Review — PRs merged without a human reviewer

  • % of PRs Merged With Tests — PRs that include test file changes

  • PR Revert Rate — Percentage of merged PRs subsequently reverted

  • PR Review Cycles — Number of back-and-forth interactions between author and reviewers

  • PR Link Rate — Percentage of PRs linked to a tracked issue

  • Est. Bug PR Density — Estimated bug escape rate based on bugfix PR analysis

Code Review Metrics

  • PRs Reviewed / Week — Reviews completed per contributor

  • Review Response Time — Average time to complete a review after being requested

  • Comments Authored / Week — Review feedback volume per contributor

  • Comments Received / PR — Average number of comments received per PR

Commit & Activity Metrics

  • Commit Days / Week — Days per week with at least one commit

  • Lines of Code — Total lines added and removed

DORA Metrics (require additional integrations)

These metrics combine GitHub data with your deployment and incident management tools (e.g., PagerDuty, Incident.io, Rootly):

Metric

Additional Integration Needed

Deployment Frequency

Deployment tracking

Lead Time for Changes

Deployment tracking

Change Failure Rate

Incident management

Mean Time to Recover (MTTR)

Incident management

AI Impact Metrics (require Copilot integration)

  • AI Code Ratio — Share of merged lines detected as AI-generated (supports Python, TypeScript, JavaScript, Ruby, Java, C#, Go, Kotlin, Swift)

  • Accepted AI Lines vs. All Merged Lines — AI code as a percentage of total output

  • AI Days / Week — Days per week with AI tool activity per contributor

  • Gen AI Weekly / Monthly Active Users — Copilot adoption across the organization

Frequently Asked Questions

Does Span store my source code? Span reads diffs to compute code-level metrics (e.g., lines of code, AI code detection) but does not store the full contents of your source code.

How fresh is the data? Data is synced continuously. Most metrics reflect activity within minutes of it occurring in GitHub.

Can I restrict which repositories Span accesses? Yes. During GitHub App installation you can choose specific repositories, and this can be updated at any time from your GitHub organization settings.

Does Span support GitHub Enterprise Server? Yes. Span supports both GitHub Cloud and GitHub Enterprise Server (GHES) deployments.


💡 Tip: The GitHub integration works best when paired with an issue tracker (Jira, Linear) for issue-linking metrics and a deployment/incident tool (PagerDuty, Rootly) for complete DORA metrics coverage.