GitHub Integration

Connect Otto to GitHub to create pull requests and respond to code reviews.

Installing the GitHub App

  1. Go to Settings → Integrations in Otto
  2. Click Connect GitHub
  3. Click Install GitHub App
  4. Select your organization
  5. Choose which repositories Otto can access
    • All repositories — Otto can work on any repo
    • Selected repositories — Limit to specific repos

Required Permissions

The Otto GitHub App requests these permissions:

PermissionPurpose
Contents (read/write)Read code, create branches, push commits
Pull requests (read/write)Create and update PRs
Issues (read/write)Link PRs to issues
Metadata (read)Access repo information

How Otto Uses GitHub

Creating Branches

When Otto starts work on a ticket, it:

  1. Creates a new branch from your default branch
  2. Branch name: otto/[ticket-id]-[slug]
  3. Example: otto/EBS-123-add-user-avatar

Making Commits

Otto commits changes with:

  • Clear commit messages describing the change
  • Co-authored attribution when responding to feedback
  • Signed commits (if configured)

Opening Pull Requests

Otto's PRs include:

  • Descriptive title matching the ticket
  • Summary of changes
  • Link to the Linear ticket
  • Implementation notes
  • Test instructions (if applicable)

Responding to Reviews

When you leave review comments, Otto:

  1. Reads the feedback
  2. Makes the requested changes
  3. Pushes a new commit
  4. Responds to the comment

Repository Settings

Default Branch

Otto creates branches from and targets PRs to your default branch (usually main or master).

Branch Protection

Otto respects branch protection rules:

  • If PRs require reviews, Otto won't merge automatically
  • If status checks are required, Otto waits for CI

Code Owners

If you use CODEOWNERS, the appropriate reviewers are automatically requested.

Best Practices

Start with Limited Access

Initially, give Otto access to a test repository to validate your configuration before expanding.

Use Branch Protection

Always require PR reviews before merging Otto's code.

Enable CI

Set up automated tests that run on Otto's PRs to catch issues early.