GitHub Integration
How Keystone integrates with GitHub for real-time repository analysis
Overview
Keystone uses a GitHub App to integrate with your repositories. This provides secure, granular access to your code and enables real-time updates through webhooks.
Webhook Events
Keystone listens to the following GitHub events:
Push events
Every push to a connected repository triggers the ingestion pipeline. Keystone fetches the new commits, analyzes the diffs, and updates its knowledge base.
Pull request events
Pull request activity is tracked to capture discussion context and review decisions that don't always appear in commit messages.
Managing connections
Adding repositories
You can add new repositories to an existing project from the project settings. The GitHub App installation flow lets you select which repositories Keystone has access to.
Removing repositories
To disconnect a repository, visit the project settings and remove the connection. This stops webhook processing but does not delete previously ingested data.
Reinstalling the app
If you need to change permissions or reinstall the GitHub App, you can do so from your GitHub organization settings under Installed GitHub Apps.
Troubleshooting
Webhooks not arriving
- Verify the GitHub App is installed on the correct organization
- Check that the repository is selected in the app's installation settings
- Review webhook delivery logs in GitHub under Settings > Developer Settings > GitHub Apps
Ingestion stuck
- Check the project dashboard for error messages
- Ensure the repository is not empty
- Large repositories may take longer to process initially