GitHub Integration
Last updated: June 24, 2026
Aisle connects to GitHub using a GitHub App — both for GitHub Cloud and for GitHub Enterprise Server (GHES). This article covers the install flow, required permissions, and the differences between Cloud and Enterprise.
Prerequisites
An organization owner can install the Aisle GitHub App. Personal accounts work too, but most production setups use an organization.
Admin access in Aisle to add the VCS connection.
Connect GitHub Cloud
In Aisle, go to Integrations → VCS Connections and click GitHub.
Aisle redirects you to GitHub. Select the organization that owns the repositories you want to analyze.
Choose All repositories or Only select repositories — you can change this later from GitHub.
Confirm. GitHub redirects you back to Aisle, where the new connection appears with status Active.
That's it for Cloud. The GitHub App carries its own credentials; you don't manage a token.
Connect GitHub Enterprise Server (GHES)
For self-hosted Enterprise, install the Aisle GitHub App on your GHES instance first, then connect from Aisle:
In Aisle, go to Integrations → VCS Connections and click Connect GHES.
Provide:
Enterprise URL — the base URL of your GHES instance (e.g.
https://github.example.com).App ID — the numeric ID assigned to the Aisle GitHub App when you created it in GHES.
Private Key — upload the
.pemprivate key file generated for the App.
Save. The connection shows as Active when GHES accepts the credentials.
If you need help creating the GitHub App on GHES, your Aisle account team can provide a setup script and the required permission manifest.
Permissions the GitHub App needs
The Aisle GitHub App requests:
Permission | Why |
|---|---|
Contents: Read | Clone repositories and read history. |
Pull requests: Read & write | Open fix pull requests, comment on PRs, post checks. |
Checks: Read & write | Surface analysis results as PR checks. |
Metadata: Read | List repositories and read repository structure. |
Webhooks: Read & write | Subscribe to push, PR, and check events. |
Members: Read | Map GitHub teams to Aisle teams (optional). |
After connecting
Open Repositories → Import Repositories and pick the repos to analyze.
Enable the Aisle Analyzer on each repo.
If you're working on GitHub Actions, see [GitHub Actions] for how Aisle observes CI status on pull requests.
Updating or removing the connection
Cloud: to change which repositories the App can see, go to GitHub → Settings → Applications → Aisle, and adjust the Repository access list. Aisle picks up the change automatically.
GHES: update the App's repository selection on the GHES side; rotate the private key in Aisle if you regenerate it.
Uninstall: removing the GitHub App from your organization disconnects the integration. Aisle stops receiving webhooks and existing imports show Disconnected.
Troubleshooting
Symptom | What to check |
|---|---|
Repositories don't appear in the import list | The App's Repository access list — make sure the repos are included. |
Status shows Invalid token for GHES | Regenerate the App private key in GHES and re-upload to Aisle. |
Webhook events not arriving | Check GitHub → App settings → Recent deliveries. Resend any failed deliveries; persistent failures usually mean your GHES instance can't reach Aisle outbound. |
Aisle can post comments but not open PRs | Confirm Contents: Write is granted; the App may have been installed with read-only access. |