How rules work
A rule describes the pull requests to throw away — a PR that matches an enabled rule is dropped. There’s no “keep only these” mode; to keep a narrow set, exclude everything that isn’t in it using the negated match types.- Within a rule, the conditions (repositories, source branch, target branch, title) are AND-ed — a PR matches only if it satisfies all of them.
- Across rules, matching any enabled rule is enough to exclude a PR. Add more rules to exclude more things.
Git terminology: source vs target
A PR always flows source → target.
The mapping is the same across GitHub, GitLab, Bitbucket, and Azure DevOps.
Conditions and match types
Repositories has no match type — listed repos scope the rule to those repos; empty means all repos. The other three fields take a list of values (comma- or newline-separated) plus a match type. Matching is always case-insensitive. Leaving a field blank ignores it.
The negated types are how you express “keep only X”: exclude every PR whose target branch is not
production keeps exactly the production-targeting PRs.
Example: keep only one target branch in one repo
Goal: in one repository, keep only PRs merging intoproduction and exclude everything else, leaving all other repositories untouched.
This excludes any PR in that repo whose target branch isn’t
production. Because the repository is scoped, no other repo is affected.
Common patterns
Each row is one rule. Conditions within a rule are AND-ed — to exclude on either of two conditions independently, create two rules.Rules apply only to enabled rows and take effect on the next analytics refresh. They don’t modify underlying data.

