Skip to main content
Otto connects to GitHub through the Otto GitHub App. Once it’s installed, Otto reviews pull requests in the repositories you grant it.

Install the GitHub App

1

Start from Otto

In onboarding, or in Settings → Integrations, click Connect GitHub.
2

Choose an account and repositories

Install the app on your GitHub organization and pick the repositories Otto can access:
  • All repositories: Otto can review any current or future repository.
  • Only select repositories: Otto can review only the repositories you list.
Start with one or two repositories, check the reviews look right, then grant more.
3

Return to Otto

GitHub sends you back to Otto, which verifies the installation. Reviews are enabled automatically for the repositories you granted.

Change which repositories Otto reviews

  • Grant more repositories from the Otto app’s page in your GitHub organization settings (Settings → GitHub Apps → Otto → Configure).
  • Stop reviewing a repository by pruning it in Otto’s Settings → Integrations, or by removing it from the app’s repository access on GitHub.
  • Change how one repository is reviewed with an otto.yml at its root.

Permissions

The Otto GitHub App requests:

When Otto reviews a pull request

Otto starts an automatic review when:
  • A pull request is opened, unless it’s a draft. A draft is reviewed when it’s marked ready for review.
  • Someone requests a review from Otto.
  • New commits are pushed to a pull request Otto has already reviewed or commented on. With the Otto Approval check on, Otto reviews every push to an open, non-draft PR.
A comment of /otto review or /otto re-review starts a review even when the repository’s otto.yml turns automatic reviews off or a skip rule matches. See Commands. Otto doesn’t review automatically when:
  • Automatic PR reviews are turned off for the workspace in Settings → Reviews.
  • The repository’s otto.yml turns reviews off or a skip rule matches.
  • The PR changes more than 100 files. Ignored files don’t count toward this limit.
  • A bot pushed the commit (except allowlisted bots such as Dependabot and Renovate).

Next steps

Require Otto before merging

Add Otto’s checks to branch protection.

Configure the repository

Add an otto.yml for per-path depth and instructions.