GitHub integration
Connect your GitHub repositories to Round Robin rotations and automatically notify on-duty team members about important GitHub events, such as pull requests, issues, and code reviews.
Overview
Section titled “Overview”The GitHub integration allows you to:
- Receive notifications about GitHub activity directly in Slack
- Route notifications to on-duty users, specific channels, or both
- Filter by repository — choose to monitor all repositories or select specific ones
- Customize events — pick which GitHub events trigger notifications
- Create custom templates — personalize notification messages with dynamic placeholders
Getting Started
Section titled “Getting Started”Step 1: Install the GitHub App
Section titled “Step 1: Install the GitHub App”- Navigate to Settings → Integrations → GitHub
- Click Install GitHub App
- You’ll be redirected to GitHub to authorize the app
- Choose which organization or personal account to install the app on
- Select which repositories the app can access (all or specific repositories)
- Complete the installation
Once installed, you’ll see your connected GitHub account on the integrations page.
Step 2: Configure a Rotation
Section titled “Step 2: Configure a Rotation”After connecting GitHub, you can enable GitHub notifications for any rotation:
- Go to the rotation’s detail page
- Click Configure GitHub
- Choose your settings (see below)
- Click Save
Configuration Options
Section titled “Configuration Options”Repository Selection
Section titled “Repository Selection”Choose which repositories will trigger notifications for this rotation:
- All Repositories — Any repository accessible by the GitHub App will trigger notifications
- Specific Repositories — Select individual repositories from the list
Notification Target
Section titled “Notification Target”Control who receives GitHub notifications:
- On-Duty Users: Only users currently on duty receive direct messages
- Rotation Channels: Notifications are posted to the rotation’s configured Slack channels
- Both: Notifications go to both on-duty users and channels
Event Types
Section titled “Event Types”You can choose which GitHub events trigger notifications. You can use the Default Events preset or create a Custom Event Selection.
Custom Notification Templates
Section titled “Custom Notification Templates”You can customize the notification message for any event type. Templates support both general (applies to all actions of an event type) and action-specific customizations.
Template Priority
Section titled “Template Priority”When a GitHub event occurs, the system looks for a template in this order:
- Action-specific template (e.g., template for “PR merged”)
- Event-type template (e.g., template for all PR events)
- Default template (built-in message)
This allows you to have a general template for most actions but override specific ones. For example, you might want a special celebration message when a PR is merged, but use a standard template for other PR actions.
Available Placeholders
Section titled “Available Placeholders”Use these placeholders in your templates to create dynamic messages:
| Placeholder | Description | Example |
%ROTATION_NAME% |
Name of the rotation | “Backend Team On-Call” |
%GITHUB_ACTOR% |
User who triggered the event | “johndoe” |
%GITHUB_REPOSITORY% |
Full repository name | “acme/backend-api” |
%GITHUB_REPOSITORY_SHORT% |
Repository name only | “backend-api” |
%GITHUB_EVENT_TITLE% |
Title of the PR or issue | “Add user authentication” |
%GITHUB_EVENT_URL% |
Link to the PR or issue | (clickable link) |
%GITHUB_EVENT_DESCRIPTION% |
Body/description (truncated) | PR or issue body text |
%GITHUB_EVENT_TYPE% |
Type of event | “pull_request” |
%GITHUB_ACTION% |
Specific action | “opened”, “merged”, etc. |
%GITHUB_LABEL% |
Label name (for label events) | “bug”, “enhancement” |
Template Examples
Section titled “Template Examples”General PR template: 🔔 PR activity in `%GITHUB_REPOSITORY_SHORT%`: %GITHUB_EVENT_TITLE% By %GITHUB_ACTOR% • Rotation: %ROTATION_NAME%
PR merged celebration: 🎉 *PR merged!* %GITHUB_EVENT_TITLE% Great work, %GITHUB_ACTOR%! Another one shipped in `%GITHUB_REPOSITORY_SHORT%`
New issue notification: 🐛 New issue: %GITHUB_EVENT_TITLE% Opened by %GITHUB_ACTOR% in `%GITHUB_REPOSITORY_SHORT%` %GITHUB_EVENT_DESCRIPTION%
Label added: 🏷️ Label `%GITHUB_LABEL%` added to: %GITHUB_EVENT_TITLE%
How Notifications Work
Section titled “How Notifications Work”When a GitHub event occurs in a monitored repository:
- GitHub sends a webhook to Round Robin
- Round Robin checks which rotations are configured for that repository
- For each matching rotation, it:
- Verifies the event type is enabled
- Finds the current on-duty users (if applicable)
- Applies the appropriate template (custom or default)
- Sends notifications to the configured targets
Notification Examples
Section titled “Notification Examples”Default PR opened notification: > 🔄 New PR opened: Add user authentication
by johndoe in
backend-apirepository
Rotation: Backend Team > > This PR adds OAuth2 authentication flow…
Default PR merged notification: > 💜 PR merged: Add user authentication
by johndoe in
backend-apirepository
Rotation: Backend Team
Default issue comment notification: > 💬 New comment on issue: Bug: Login fails on Safari
by janedoe in
frontend-apprepository
Rotation: Frontend Support
Troubleshooting
Section titled “Troubleshooting”Notifications not being received
Section titled “Notifications not being received”- Check the GitHub connection — Go to Settings → Integrations → GitHub and verify the connection is active
- Verify repository access — Ensure the GitHub App has access to the repository in question
- Check rotation settings — Confirm the event type is enabled and the repository is included
- Verify on-duty status — If targeting on-duty users, confirm someone is currently on duty
Wrong notification template
Section titled “Wrong notification template”Templates are applied in order of specificity. If you’re seeing the wrong message: 1. Check if there’s an action-specific template overriding your general template 2. Verify the template key matches the expected format (e.g., pull_request:merged for PR merge events)
GitHub App shows as disconnected
Section titled “GitHub App shows as disconnected”This can happen if: - The app was uninstalled from GitHub - Permissions were revoked - The installation was suspended
To fix, reinstall the GitHub App from the integrations page.
Frequently Asked Questions
Section titled “Frequently Asked Questions”Q: Can I use GitHub integration with a free plan?
A: No, GitHub integration is available on paid plans only.
Q: How many repositories can I monitor?
A: There’s no limit. You can monitor as many repositories as the GitHub App has access to.
Q: Can different rotations monitor the same repository?
A: Yes! Multiple rotations can be configured for the same repository, each with their own event settings and templates.
Q: Are private repositories supported?
A: Yes, as long as the GitHub App is installed with access to those private repositories.
Q: What happens if no one is on duty?
A: If notification target is set to “On-Duty Users” and no one is on duty, no notification is sent. Consider using “Both” to ensure channel notifications always go through.
