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
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
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
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
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
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
You can choose which GitHub events trigger notifications. You can use the Default Events preset or create a Custom Event Selection.
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
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
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
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
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
Default PR opened notification: > 🔄 New PR opened: Add user authentication
> by johndoe in backend-api repository
> Rotation: Backend Team > > This PR adds OAuth2 authentication flow...
Default PR merged notification: > 💜 PR merged: Add user authentication
> by johndoe in backend-api repository
> Rotation: Backend Team
Default issue comment notification: > 💬 New comment on issue: Bug: Login fails on Safari
> by janedoe in frontend-app repository
> Rotation: Frontend Support
Troubleshooting
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
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
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
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.