Skip to content

GitHub integration

Connect your GitHub repositories to Round Robin and route notifications about pull requests, reviews, and issues to the people currently on duty, to the rotation’s Slack channels, or both.

  1. In the dashboard, go to SettingsIntegrations.
  2. In the GitHub section, click Install GitHub App. You are redirected to GitHub.
  3. Choose the organization or personal account to install the app on.
  4. Grant access to all repositories or select specific ones.
  5. Complete the installation. You are redirected back to the dashboard, and the connected GitHub account appears on the integrations page.

Private repositories work as long as the GitHub App has access to them.

Once GitHub is connected, each rotation can have its own GitHub configuration:

  1. Open the rotation’s detail page and open the menu.
  2. Click GitHub Integration.
  3. Choose your repositories, notification target, and events (see below).
  4. Click Save.

Multiple rotations can watch the same repository, each with its own event selection and templates.

  • All Repositories — the rotation is connected to every repository the GitHub App can access. Repositories added to the installation later are included automatically.
  • Select Specific Repositories — choose individual repositories from the list.
Option Behavior
On-Duty User Only Direct message to the users currently on duty
Channel Only Post to the rotation’s Slack channels
Both User and Channel Both of the above

If the target resolves to nobody (for example, “On-Duty User Only” with no one on duty), no notification is sent.

Pick Default Events or switch to Custom Event Selection to choose from:

Event type Covers In default set
pull_request PR opened, closed, merged, reopened, new commits, ready for review, converted to draft, labeled/unlabeled Yes
pull_request_review Review submitted, dismissed, or edited Yes
pull_request_review_comment Comment on a PR diff Yes
pull_request_review_thread Review thread resolved or unresolved Yes
issue_comment Comment on an issue or PR Yes
issues Issue opened, closed, reopened, assigned/unassigned, labeled/unlabeled Yes

Every event type ships with a built-in message, but you can override it per event type or per specific action. When an event arrives, Round Robin picks the first template that matches:

  1. Action-specific template — key like pull_request:merged
  2. Event-type template — key like pull_request
  3. Default template — built-in message

For example, set a celebration message for pull_request:merged while all other PR actions use your general pull_request template.

Placeholder Description
%ROTATION_NAME% Name of the rotation
%GITHUB_ACTOR% GitHub user who triggered the event
%GITHUB_REPOSITORY% Full repository name (owner/repo)
%GITHUB_REPOSITORY_SHORT% Repository name without the owner
%GITHUB_EVENT_TITLE% Title of the PR or issue
%GITHUB_EVENT_URL% Link to the PR, issue, or comment
%GITHUB_EVENT_DESCRIPTION% Body text, truncated to 150 characters and rendered as a Slack quote
%GITHUB_EVENT_TYPE% Event type, e.g. pull_request
%GITHUB_ACTION% Specific action, e.g. opened, merged
%GITHUB_LABEL% Label name (only for labeled/unlabeled actions)

Example template for pull_request:merged:

🎉 *PR merged!* %GITHUB_EVENT_TITLE% — great work, %GITHUB_ACTOR%! Shipped in `%GITHUB_REPOSITORY_SHORT%`

Notifications are not arriving

  1. Check SettingsIntegrations and verify the GitHub connection is active.
  2. Verify the GitHub App has access to the repository in question.
  3. In the rotation’s GitHub configuration, confirm the event type is enabled and the repository is included.
  4. If the target is “On-Duty User Only”, confirm someone is currently on duty.

Wrong message template is used

Templates apply in order of specificity: an action-specific template such as pull_request:merged always wins over the general pull_request template.

GitHub shows as disconnected

This happens when the app is uninstalled from GitHub or the installation is suspended. If the installation was suspended, unsuspending it on GitHub reactivates the connection automatically; if the app was uninstalled, reinstall the GitHub App from the integrations page.