Multi channels per repo (Monorepo)
Mono-repo support allows teams to connect one GitHub repository to multiple Slack channels and create regex-based rules to create routing paths for Pull Requests. Designed for large teams with mono-repos, it gives admins the flexibility to route PRs to project-specific channels based using priority-based rule-matching on file paths in the pull request.
Why use this?
- Automatically sync PRs to project-specific channels.
- Monitor multiple projects within a single repository while creating team-specific channels for communication.
- Reduce noise by routing PR updates only to those channels that need to see them.
Important: This feature monitors the entire repository but routes the PR based on the first match of the path regex. All subsequent updates to the PR (even if files in other paths are changed in the future commits) will remain routed to the same channel.
How to use the path connector feature
1. Add the Pullflow bot to your Slack channel
To set up your mono-repo with multiple channels, invite the Pullflow bot to the relevant Slack channel:
This will open the configuration options for setting up GitHub repository updates in the Slack channel. When you invite the bot to the channel, selecting a repository in the configuration dialog is not required before using the connect command. If the configuration dialog appears, you can simply cancel it and proceed to use the connect command directly to set up path-based routing for PR updates.
If you’d like to explore additional configuration options, you can refer to this documentation.
2. Connect specific paths within a repository
Note: Ensure that your command has the correct spacing between the repository and the path (e.g. /pullflow connect {organization}/{repository} /path).
Connect a subfolder path:
Use the following syntax:
Example:
This command ensures that any PRs changing files in the src/components
folder
will notify the configured Slack channel.
Connect a specific file:
If a PR changes specific files, updates will route to the channel configured for those files.
Note: This configuration will prioritize notifications for the channel linked to this file and may prevent notifications from being sent to other channels.
Example:
Connect the entire repository:
For complete repository coverage, use the following command to connect your GitHub repository: