Connect a GitHub App
This guide covers connecting a GitHub App integration to your Oore CI instance for repository access and webhook-triggered builds.
What you need
- Role: owner or admin
- A running Oore CI instance in
readystate - A GitHub account with permission to install GitHub Apps on your target organization or personal account
Steps
1. Start the integration flow
In the web UI, go to Settings > Integrations and click Connect GitHub.
Oore CI creates a GitHub App scoped to your instance. This model provides:
- Fine-grained repository permissions (no broad personal access tokens)
- Automatic webhook registration
- Installation-level access controls
2. Authorize and install on GitHub
- GitHub prompts you to review the app permissions
- Select which repositories the app can access ("All repositories" or specific ones)
- Click Install
3. Confirm in Oore CI
After GitHub redirects back, Oore CI:
- Completes the OAuth handshake
- Stores the integration credentials (encrypted at rest)
- Syncs installations and repository metadata
The integration appears in Settings > Integrations as connected.
4. Verify
Go to Projects > New Project and confirm your GitHub repositories appear in the source selection dropdown.
Managing installations
After the initial setup, manage repository access from GitHub:
- Go to your GitHub organization or account settings
- Navigate to Installed GitHub Apps
- Click on the Oore CI app
- Modify repository access as needed
Oore CI syncs installation changes automatically via webhooks. You can also force a sync from Settings > Integrations > Sync in the UI.
Removing the integration
- Go to Settings > Integrations
- Click the GitHub integration
- Click Delete
This removes the integration from Oore CI. To also uninstall the GitHub App, go to your GitHub organization settings and uninstall it there.
API endpoints
| Method | Path | Description |
|---|---|---|
POST | /v1/integrations/github/start | Begin GitHub App creation |
POST | /v1/integrations/github/complete | Complete the OAuth flow |
GET | /v1/integrations/{id}/repositories | List accessible repositories |
GET | /v1/integrations/{id}/installations | List installations |
POST | /v1/integrations/{id}/installations | Sync installations |
DELETE | /v1/integrations/{id} | Remove integration |