Automated Reviewer Assignment
The server intelligently assigns reviewers based on OWNERS files in your repository, ensuring the right people review code changes.How It Works
- Automatically assigns reviewers when PRs are opened or synchronized
- Uses OWNERS files at repository root and in subdirectories
- Supports both approvers and reviewers with different permission levels
- Respects
root-approversflag for component-specific ownership
OWNERS File Format
Root OWNERS File:Manual Reviewer Assignment
Users can trigger reviewer assignment via comment commands:Label Management
The webhook server automatically applies and manages labels to track PR status and categorization.Automatic Labels
The following labels are automatically applied based on PR state:| Label Category | Labels | Description |
|---|---|---|
| Status | verified, hold, wip | Manual workflow control |
| Merge State | needs-rebase, has-conflicts, can-be-merged | Merge readiness |
| Size | size/XS, size/S, size/M, size/L, size/XL, size/XXL | PR size based on lines changed |
| Branch | branch/<name> | Target branch tracking |
| Cherry-pick | cherry-pick/<branch>, cherry-picked | Cherry-pick tracking |
| Auto-merge | automerge | Auto-merge enabled |
| Review Status | approved-*, lgtm-*, changes-requested-*, commented-* | Review tracking |
WIP Detection
PRs with titles starting with “WIP”, “[WIP]”, or “Draft:” automatically receive thewip label:
- Applied on PR open, reopen, or title edit
- Removed when title no longer indicates work in progress
- Blocks PR from being merged when present
Configurable Labels
You can control which labels are enabled and customize their colors:approved-*, lgtm-*, etc.) are always enabled and cannot be disabled as they are the source of truth for the approval system.
PR Size Labels
The server calculates PR size based on total lines changed (additions + deletions) and applies size labels automatically.Default Size Thresholds
| Label | Lines Changed | Color |
|---|---|---|
size/XS | 0-19 | Light gray |
size/S | 20-49 | Green |
size/M | 50-99 | Orange |
size/L | 100-299 | Red |
size/XL | 300-499 | Dark red |
size/XXL | 500+ | Darkest red |
Custom Size Configuration
Define custom size categories with your own names, thresholds, and colors: Global Configuration:- threshold: Positive integer or
inffor unbounded largest category - color: Any CSS3 color name (e.g.,
red,lightblue,darkgreen) - Label Names: Any string up to 49 characters
- Hierarchy: Repository-level overrides global configuration
- Real-time: Changes take effect immediately without server restart
Merge Readiness Validation
The server performs comprehensive checks to determine if a PR is ready to merge.Merge Requirements
- Not a draft PR
- No
holdlabel - No
wiplabel - No merge conflicts (no
has-conflictslabel) - Up to date with base branch (no
needs-rebaselabel) - All required checks passed
- Minimum approvals met (configurable via
minimum-lgtm) - Required labels present (if configured via
can-be-merged-required-labels) - Conventional title format (if configured via
conventional-title)
Can-Be-Merged Check
The server creates a “can-be-merged” check run that validates all requirements:can-be-merged label is automatically applied.
Auto-merge Configuration
Enable auto-merge for specific branches:- PRs to configured branches receive the
automergelabel - PRs automatically merge when the “can-be-merged” check passes
- Uses squash merge method by default
Auto-verified Users
Bypass manual verification for trusted bot accounts:Cherry-pick Automation
Automatically create cherry-pick PRs to backport changes to other branches.Cherry-pick Commands
Cherry-pick Workflow
- Original PR must be merged first
- Server creates new PR for each target branch
- New PRs are labeled with
cherry-pick/<target-branch> - Original PR receives
cherry-pickedlabel - Cherry-pick PRs are auto-verified (configurable)
Auto-verification Configuration
Cherry-pick Assignment
By default, cherry-pick PRs are assigned to the original PR author:Conventional Commits
Enforce Conventional Commits v1.0.0 specification for PR titles.Configuration
- Comma-separated list of allowed types
- Use
"*"to accept any type while enforcing format - Leave unconfigured to disable validation
Valid PR Title Examples
Standard Types
feat: New features (MINOR version bump)fix: Bug fixes (PATCH version bump)build,chore,ci,docs,style,refactor,perf,test,revert
PR Tracking Issues
Automatically create tracking issues for new pull requests.Configuration
- Issue created when PR is opened
- Issue title matches PR title
- Issue body contains link to PR
- Issue automatically closed when PR is merged or closed
Welcome Messages
Automatic welcome comments posted to new PRs with helpful information:- Available commands
- Review process explanation
- CI/CD status checks
- Link to tracking issue (if enabled)