The Discord integration for reviewGOOSE — know instantly when you're blocking a PR.
reviewGOOSE:Discord tracks GitHub pull requests and notifies reviewers when it's their turn. Works alongside reviewGOOSE:Desktop for a complete PR tracking experience.
- Creates Discord threads for new PRs (forum or text channels)
- Smart notifications: Delays DMs if user already notified in channel
- Channel auto-discovery: repos automatically map to same-named channels
- Configurable notification settings via YAML in your repos
- Daily report system
- Reliable delivery: Persistent state and deduplication
Add reviewGOOSE to your Discord server
Install the reviewGOOSE GitHub App on your organization.
Create .codeGROOVE/discord.yaml in your organization's .codeGROOVE repository:
global:
guild_id: "YOUR_DISCORD_SERVER_ID"
users:
github-username: "discord-user-id"To find your Discord server ID: Enable Developer Mode in Discord settings, then right-click your server name and select "Copy Server ID".
That's it! The bot will start posting PR notifications to channels matching your repository names.
The full configuration options for .codeGROOVE/discord.yaml:
global:
guild_id: "1234567890123456789"
reminder_dm_delay: 65 # Minutes before DM (default: 65, 0 = disabled)
channels:
# Route all repos to a forum channel called #pull-requests
pull-requests:
repos:
- "*"
# Route specific repos to #backend channel with shorter DM delay
backend:
repos:
- api
- db
reminder_dm_delay: 30
# GitHub username -> Discord user ID mapping
users:
alice: "111111111111111111"
bob: "222222222222222222"
# Unmapped users: bot attempts username match in guildBy default, repos automatically map to channels with the same name:
- Repository
goose-> Channel#goose - Repository
my-service-> Channel#my-service
Forum vs Text channels are auto-detected:
- Forum channels: Each PR gets its own thread (Discord-native, ideal for PR tracking)
- Text channels: PR updates appear as messages (similar to Slack)
Override auto-discovery:
- Explicit routing: Add repo to a channel's
reposlist to route it elsewhere - Wildcard: Use
repos: ["*"]to route all repos to one channel - Disable notifications: Add
mute: trueto suppress a repo entirely:channels: noisy-repo: # Repo named "noisy-repo" will have no notifications mute: true
The bot maps GitHub users to Discord users in three ways:
- Explicit mapping:
users:section in discord.yaml - Username match: Searches guild members for matching Discord username
- Fallback: Mentions GitHub username as plain text
For best results, add explicit mappings for users whose Discord and GitHub usernames differ.
/goose status- Show bot connection status/goose report- Get your personal PR report/goose dashboard- Link to web dashboard/goose help- Show help
- Channel notifications: If a user is tagged in a channel, DMs are delayed by
reminder_dm_delay(default: 65 minutes) - Immediate DMs: If a user isn't in the notification channel, they get immediate DMs
- Daily reports: Sent between 6-11:30am local time if user has pending PRs
- Anti-spam: Rate limited to prevent notification floods
- Ensure the bot has been added to your server with correct permissions
- Try removing and re-adding the bot using the install link above
- Verify the GitHub App is installed on your org
- Check that
.codeGROOVE/discord.yamlexists in your org's.codeGROOVErepo - Ensure
guild_idmatches your Discord server ID
- Verify the channel name matches the repo name (or is configured in discord.yaml)
- Check bot has "Send Messages" permission in the channel
- For forum channels, ensure bot has "Create Public Threads" permission
- User must share a server with the bot
- User must have DMs enabled from server members
- Check
reminder_dm_delayisn't set to 0 (disabled)
See DEPLOYMENT.md for instructions on deploying your own instance.