Connect GitHub to EngLedger
Install the EngLedger GitHub App, choose repositories to sync and understand what data is imported, webhook cadence and reauthorisation.
Updated 12 July 2026
EngLedger connects to GitHub through a GitHub App. You install the app on your GitHub organisation, choose which repositories it can see, and EngLedger syncs commit and pull request activity from there. No personal access tokens to create or rotate. Access follows the app installation.
Install the GitHub App
Open Integrations in EngLedger and choose Connect on the GitHub card. You're redirected to GitHub's app installation page.
On GitHub, choose the account or organisation to install on, and whether to grant access to all repositories or a chosen subset. This is GitHub-side access control. You'll refine what EngLedger actually syncs in the next step.
Approve the installation. GitHub returns you to EngLedger's repository selection screen with the connection confirmed.
Choose repositories
After connecting, every repository the app can see is selected by default. Deselect any you don't want in your metrics. Each repository has two independent scopes:
| Scope | What it syncs |
|---|---|
| Commits & PRs | Branches, commits (with changed files), pull requests and their reviews |
| Issues | GitHub issues, so they can act as tickets for teams that don't use Jira |
Saving your selection starts the first sync immediately. The first sync backfills history, so allow it a little longer than the routine incremental syncs.
What gets synced
From each selected repository, EngLedger imports repositories, branches, commits (including the list of changed files), pull requests and pull request reviews. Commit and PR authors are recorded as provider identities. Link them to your people so their work is attributed correctly (see People and identities).
Commits and pull requests are linked to tickets automatically when a ticket
reference appears in the commit message, branch name or PR title: for
example a Jira key like ENG-123, or #42 for GitHub issues.
Sync cadence and webhooks
- Scheduled sync runs every 30 minutes by default.
- Webhooks deliver
pushandpull_requestevents in real time, so new commits and PRs usually appear without waiting for the next scheduled sync. Webhook payloads are verified with a signature before they're accepted, and only events for repositories you've selected are processed.
Rate limits
GitHub allows 5,000 API requests per hour per installation. EngLedger tracks its own consumption and throttles before reaching the ceiling, deferring the remainder of a sync rather than failing it. Large backfills on big organisations may span more than one sync window as a result.
Disconnecting
Choosing Disconnect on the GitHub card pauses the integration. Synced data is retained and syncing stops. Uninstalling the app from the GitHub side has the same effect. Reconnecting restores the previous repository selection.
Next steps
- Map commit authors to people: People and identities
- Pair GitHub with Jira worklogs: Connect Jira
- Full walkthrough for a GitHub + Jira stack: SaaS team scenario
- Everything EngLedger integrates with