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

  1. In Aisle, go to Integrations → VCS Connections and click GitHub.

  2. Aisle redirects you to GitHub. Select the organization that owns the repositories you want to analyze.

  3. Choose All repositories or Only select repositories — you can change this later from GitHub.

  4. 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:

  1. In Aisle, go to Integrations → VCS Connections and click Connect GHES.

  2. 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 .pem private key file generated for the App.

  3. 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.