143 docs
Self-hosting

GitHub App setup

Create and configure the GitHub App required for a self-hosted 143 deployment.

In a self-hosted deployment, the GitHub App is both the repository access mechanism and the webhook source. Configure it before importing repositories or routing issue, PR, and review events into 143.

Create the app

Create a new GitHub App under the GitHub organization or account that will own the integration.
Set the homepage URL to your 143 deployment URL.
Set callback URLs to the OAuth callback route exposed by your deployment.
Generate a private key and store it in your encrypted deployment secrets.
Install the app on the repositories 143 should access.

Required values

You will need:

  • App ID.
  • Client ID.
  • Client secret.
  • Webhook secret.
  • Private key.
  • Installation ID after install.

Webhooks

Webhook delivery must reach your public API origin. Use a stable HTTPS URL and verify that the webhook secret in GitHub matches the deployment secret.

Permissions and events

Configure these GitHub App permissions:

  • Repository Contents: Read & Write.
  • Repository Pull requests: Read & Write.
  • Repository Workflows: Read & Write.
  • Repository Issues: Read.
  • Repository Checks: Read.
  • Repository Deployments: Read.
  • Repository Metadata: Read.
  • Repository Administration: Read & Write for the optional 143 Code Reviewer trigger-team setup flow.
  • Organization Members: Read & Write for org roster sync and the optional 143 Code Reviewer trigger-team setup flow.

If you do not use the productized Code Reviewer trigger-team setup, keep Organization Members at Read and omit Repository Administration. Normal review execution does not use those elevated permissions; the setup endpoint uses them only to create the GitHub team and grant it read access to selected repositories.

Subscribe the app to these webhook events:

  • Installation.
  • Installation repositories.
  • Pull request.
  • Pull request review.
  • Pull request review comment.
  • Issue comment.
  • Deployment status.
  • Organization.

The Organization Members permission and Organization webhook event power GitHub organization auto-join by allowing 143 to sync org member rosters and react when members are added, removed, or the GitHub organization is renamed. With Members write and Repository Administration write, workspace admins can also create or repair the selectable @org/143-code-reviewer team from the Code reviews configuration page.

After setup, requesting that team through GitHub's reviewer picker starts a review. A repository owner, organization member, or collaborator can also mention @org/143-code-reviewer in a pull request conversation comment to start a fresh review and pass that comment to the review orchestrator as untrusted context. User-attributed comments can come directly from GitHub or through a third-party GitHub App acting on the user's behalf, such as Graphite. Comments from external users, bot identities, and 143's own GitHub App do not start reviews. This supports requests such as “review again” and lets the requester clarify the behavior that needs another look without overriding the configured review policy.

Secrets

Do not commit the GitHub App private key, client secret, or webhook secret. Store them through the deployment's encrypted secret flow.

On this page