Skip to main content

GitHub integration

Connect GitHub to Leanmote so commits, PRs, and reviews populate every dashboard.

The GitHub integration is one of Leanmote's two foundational data sources (the other is your planning tool). It powers DORA metrics, flow metrics, and the Team Collaboration Network.

What Leanmote pulls from GitHub

  • Repositories you select for inclusion.

  • Commits, including author and timestamp metadata.

  • Pull requests, including open/merge/close timestamps and labels.

  • Pull-request reviews and review comments.

  • Pull-request comments and review threads.

  • Deployments — environment, whether GitHub marks it as production, state (success / failure / error), ref, commit, and timestamps.

Deployment data and DORA

Deployments recorded through GitHub's Deployments API are captured continuously, whether or not you use them for DORA — by default DORA counts merged pull requests as deployments instead. To have Deployment Frequency and Change Failure Rate count the deployments themselves, the organization owner turns on Measure deployments from GitHub in Settings → Modules → Performance Delivery. Enabling it backfills up to a year of deployment history automatically.

Two shapes of deployment are supported:

  • GitHub deployments — anything recorded through GitHub's Deployments API, which is what GitHub Actions environments and most CD tools create. Nothing to configure.

  • Deploy check runs — for pipelines that deploy without creating deployment objects, Leanmote can treat a named production check run on your release tags as the deployment. Ask your Leanmote contact to configure the check name for your organization. Capture starts when the setting is turned on, and the backfill brings in the earlier history.

See Deployment Frequency and Change Failure Rate for how each metric counts them.

Connect GitHub

  1. Open Administration → Productivity Tools.

  2. Find GitHub in the Source Control section and click Connect.

  3. You'll be redirected to GitHub's OAuth consent screen. Sign in as a user with admin access to the repos you want to track.

  4. Choose Install on organization if you have a GitHub organization. This is the recommended path — it survives staff changes.

  5. Select the repositories Leanmote should track. You can change this list later.

  6. Click Authorize. The initial sync begins immediately.

[SCREENSHOT: GitHub OAuth consent + repository selection]

OAuth scopes requested

  • repo — required to read commits, pull requests, reviews, and deployments from private repositories. GitHub does not offer a read-only equivalent for private repos: the repo scope grants both read and write access. Leanmote uses it strictly for read operations and never writes back to your repositories.

  • read:org — read your organization's membership and team list, used to map GitHub identities to Leanmote teams.

  • user:email — read your user profile email so we can match GitHub authors to Leanmote teammates.

If your security team needs to verify Leanmote's behavior, the GitHub audit log is the source of truth — every API call is logged on your side and you'll see only read operations.

Webhooks

Leanmote installs webhooks during the connection so it can receive near-real-time PR and review events. If you remove the webhook on GitHub, sync will fall back to scheduled polling.

Sync schedule

  • Initial backfill: pulls all available history that GitHub's API exposes for your repos.

  • Incremental sync: scheduled refresh every few minutes plus webhook updates.

Common issues

  • Some repos missing — confirm they were selected during install. Re-open the integration to add or remove repos.

  • Disconnected after admin change — if the user who installed the integration left the organization, GitHub may revoke the install. Reinstall as the org.

  • Bot commits inflating metrics — exclude bot accounts in your team mapping.

  • No deployments showing — check that your pipeline creates GitHub deployments (or a deploy check run) and reports their final state. Deployments to environments GitHub doesn't mark as production are only counted when your organization marks no environment as production at all.

Related articles

  • Integrations overview

  • Connect your first integrations

  • Sync isn't completing

  • Integration shows disconnected

Did this answer your question?