Skip to main content

GitHub Integration

Octokraft connects to GitHub through a GitHub App. The app receives webhook events when pull requests are opened and code is pushed, and has read access to your repository contents for analysis.

Installation

1

Open Source Control settings

Go to Settings > Source Control in your Octokraft project.
2

Connect GitHub

Click Connect GitHub. You will be redirected to GitHub to install the Octokraft GitHub App.
3

Choose access level

Select whether to grant access to all repositories or only selected repositories in your organization. You can change this later from your GitHub settings.
4

Authorize the installation

Confirm the installation on GitHub. You will be redirected back to Octokraft.
After installing the GitHub App, go to the Repos page in your project to add repositories. You can add repos from any GitHub organization where the Octokraft App is installed.

Permissions Required

The Octokraft GitHub App requests the following permissions:
PermissionAccessPurpose
Repository contentsReadAnalyze source code for health scoring, convention detection, and architecture review
Pull requestsRead & WriteRead PR metadata and diffs, post analysis results as comments
MetadataReadRepository information (name, language, default branch)
WebhooksRead & WriteReceive events when PRs are opened, updated, or merged and when code is pushed
Octokraft requests only the permissions it needs. Repository contents are accessed read-only and are never modified. Write access to pull requests is used solely to post analysis results.

What Triggers Analysis

EventWhat Happens
PR opened or updatedPR analysis runs automatically. Issues are detected, merge readiness is evaluated, and results are posted to the PR.
PR merged to default branchAn incremental health assessment runs. Scores are recalculated based on the changes introduced by the merge.
Code pushed to default branchThe code graph and detected conventions are updated to reflect the latest state of the codebase.

Repository Selection

After installing the GitHub App, you manage which repositories are tracked from inside Octokraft:
  1. Go to the Repos page in your project.
  2. Click Add Repository.
  3. Select repositories from the list of available repos (filtered by your GitHub App installation).
  4. Confirm your selection.
Octokraft begins onboarding each repository immediately — cloning the code, building the code graph, running analyzers, detecting conventions, and computing your initial health score. You can add repositories from multiple GitHub organizations, as long as the Octokraft App is installed on each one.

Troubleshooting

Verify the following:
  • The repository is added to your Octokraft project (check the Repos page).
  • The Octokraft GitHub App is installed on the organization that owns the repository.
  • Webhooks are active. Go to your GitHub organization settings, find the Octokraft app installation, and confirm that webhooks are being delivered.
If webhooks show as delivered but analysis is not running, check the PR detail page in Octokraft for status information.
Open the PR in Octokraft and check the analysis status. If analysis has been running for more than 10 minutes, there may be an issue with the analysis worker. For self-hosted deployments, check that the worker service is running and healthy.
If Octokraft reports insufficient permissions, reinstall the GitHub App:
  1. Go to your GitHub organization settings.
  2. Find the Octokraft app under Installed GitHub Apps.
  3. Click Configure and verify the permissions match those listed above.
  4. If permissions are missing, uninstall and reinstall the app from Settings > Source Control in Octokraft.
The repository list is filtered by your GitHub App installation. If a repository does not appear:
  • Confirm the app is installed on the correct organization.
  • Confirm the app has access to that specific repository (if you chose “selected repositories” during installation).
  • You can update repository access from your GitHub organization settings under Installed GitHub Apps > Octokraft > Configure.