Skip to content
↑↓Navigate ↵Open escClose

Git hosts: issues and pull requests

Connect an account on the host your project lives on and OpenChamber can list its issues and pull requests, start a session from one, and open, review and merge pull requests for you. Five hosts are built in: GitHub, including GitHub Enterprise; GitLab, including self-managed GitLab; Gitea; Forgejo, including Codeberg; and Gerrit. An extension can add another.

The project’s remote decides which host OpenChamber talks to. A project whose origin is on gitlab.com uses your GitLab account for the board, the pull request badge on its branches, and the Git panel. A remote on a host alias from ~/.ssh/config, such as github.com-work, isn’t matched to any host. Gitea and Forgejo match an alias whose SSH configuration points at the instance’s web address, and a remote on the instance’s SSH clone address once you enter that address in Settings → Integrations.

The words follow the host. GitLab says merge request, and Gerrit says change.

Connect a host

  1. Open Settings → Integrations. Each host has its own card.
  2. Expand the card of your project’s host and sign in:
    • GitHub: choose Connect GitHub, open the link it shows, enter the short code and approve. For GitHub Enterprise, choose Add instance under Other instances, enter your server’s address and paste a personal access token.
    • GitLab: on gitlab.com, sign in with a short code, a personal access token, or the glab login. For a self-managed GitLab, add its address and paste a personal access token.
    • Gitea: add your server’s address and paste a personal access token.
    • Forgejo: for Codeberg, paste a personal access token; for another server, add its address first.
    • Gerrit: add your server’s address, then your Gerrit username and an HTTP password.

When it’s connected, your account shows on the card. You can connect more than one account on a host and switch between them, or disconnect at any time. If the gh CLI is signed in on the same machine, OpenChamber can use it for GitHub too. The scopes each token needs and the versions each host needs are in Integrations.

A connected account can also be the project’s Git identity, so commits carry its name and pushes over HTTPS use its token.

Start work from an issue or pull request

When you create a worktree session, you can start it from an issue or a pull request of the project’s host:

  • pick an issue and OpenChamber names the branch after it
  • pick a pull request and it checks out the pull request’s branch; you can include its diff so the agent has the whole change
  • pick a Gerrit change and it checks out the latest patchset on a branch named change-<number>

The new session opens with the item already attached to the message box. Nothing is sent for you: choose the model and agent, say what you want done, and send.

The Issues and PRs board lists the same items, with filters, a preview, comments and reviews, and starts sessions from there too.

Open and manage pull requests

From the PR tab in the Git panel, you can create a pull request, update it, mark a draft as ready, or merge it. OpenChamber can write the title and description from your changes.

  • GitLab: the same tab opens merge requests. Merging offers merge and squash.
  • Gitea and Forgejo: the same as on GitHub.
  • Gerrit: you create a change by pushing for review, and each later push uploads a new patchset. See Push for review on Gerrit. Merging is Submit, and it waits until the change meets its submit requirements. Reviews are votes on the project’s labels, such as Code-Review and Verified.

In the chat composer, open the + menu and choose the link entry for your host, such as Link GitHub Issue or PR, Link GitLab Issue or MR, or Link Gerrit change. Pick one or more items. Each one goes with your next message as context, a pull request can bring its diff, and the session’s work status panel keeps a link to it. Attaching only adds context; your message says what to do with it.

Gerrit has no issues, so only changes show there.