Overview
Commands are triggered by posting comments on pull requests containing specific command strings starting with/.
Example:
PR Status Management
Control the workflow status of pull requests.Verified
Mark a PR as verified (code review passed).- Adds
verifiedlabel to PR - Required for merge unless user is in
auto-verified-and-merged-users - Can be canceled with
/verified cancel
Hold
Block a PR from being merged.- Adds
holdlabel to PR - Prevents merge even if all other requirements are met
- Useful for PRs that need discussion or coordination
Work in Progress (WIP)
Mark a PR as work in progress.- Adds
wiplabel to PR - Prevents merge
- Automatically detected from PR title (โWIPโ, โ[WIP]โ, โDraft:โ)
Review and Approval Commands
LGTM (Looks Good To Me)
Approve changes as a reviewer.- Adds
lgtm-<username>label - Counts toward minimum required approvals
- Does not grant final approval for merge (use
/approvefor that)
Approve
Grant final approval for a PR.- Adds
approved-<username>label - Grants merge approval
- Triggers test-oracle analysis (if configured with
approvedtrigger) - Required for merge unless auto-verified user
Assign Reviewers
Assign reviewers based on OWNERS files.- Analyzes changed files
- Finds relevant OWNERS files
- Assigns appropriate reviewers and approvers
- Respects component-specific ownership rules
Auto-merge
Enable automatic merging when all requirements are met.- Adds
automergelabel - PR automatically merges when โcan-be-mergedโ check passes
- Uses squash merge method
- Only works for branches configured in
set-auto-merge-prs
Check Merge Readiness
Manually check if PR meets all merge requirements.- Validates all merge requirements
- Reports detailed status of each requirement
- Updates
can-be-mergedcheck run - Applies or removes
can-be-mergedlabel
Testing Commands
Trigger various tests and validation checks.Retest
Run specific tests or all configured tests. Run All Tests:Build and Push Container
Manually trigger container build and push to registry. Basic Build:Workflow Management
Reprocess PR
Trigger complete PR workflow reprocessing from scratch.- Re-runs entire PR workflow
- Reassigns reviewers based on current OWNERS file
- Updates all labels based on current state
- Re-queues all CI/CD checks
- Respects current repository configuration
- Wonโt create duplicate welcome messages or tracking issues
- Webhook delivery failed or was missed
- Processing interrupted mid-workflow
- OWNERS file changed and reviewers need reassignment
- Configuration changed and checks need re-evaluation
- PR in inconsistent state and needs full reset
/retest)
Regenerate Welcome Message
Regenerate the welcome comment on a PR.- Deletes old welcome message (if found)
- Creates new welcome message with current information
- Updates command list and status checks
Cherry-pick Commands
Create cherry-pick PRs to backport changes to other branches.Single Branch
Multiple Branches
- Creates new PR for each target branch
- New PRs labeled with
cherry-pick/<target-branch> - Original PR receives
cherry-pickedlabel - Cherry-pick PRs auto-verified by default (configurable)
- Assigned to original PR author (configurable)
- Original PR must be merged
- User must have write access to repository
- Target branches must exist
AI-Powered Commands
Test Oracle
Request AI-powered test recommendations based on PR changes.- Analyzes PR diff using AI (Claude, Gemini, or Cursor)
- Identifies affected code areas
- Recommends specific tests to run
- Posts review comment with recommendations
- Links to relevant test files
- PR Test Oracle server running and accessible
- AI provider API key configured (ANTHROPIC_API_KEY, GEMINI_API_KEY, or CURSOR_API_KEY)
- Valid test-oracle configuration
Label Commands
Add or remove custom labels.Add Label
Remove Label
Draft PR Restrictions
By default, most commands are blocked on draft PRs to prevent accidental operations.Allow Commands on Draft PRs
- Commands blocked on draft PRs unless explicitly allowed
- User receives notification that command is blocked
- Convert PR to ready for review to enable commands
Command Reactions
The webhook server reacts to comment commands to provide immediate feedback:- ๐ - Command recognized and processing
- โ - Command completed successfully
- โ - Command failed or not permitted
- ๐ซ - Command blocked (e.g., draft PR restriction)
Permission Model
Commands have different permission requirements:Any Authenticated User
/verified,/hold,/wip,/lgtm/assign-reviewers,/check-can-merge/<label-name>(custom labels)/regenerate-welcome/test-oracle
Repository OWNERS
/approve/retest(all variants)/build-and-push-container/reprocess
Maintainers/Approvers
/automerge/add-allowed-user(special admin command)
Write Access Required
/cherry-pick
Command Processing
Parallel Execution
Multiple commands in a single comment are processed in parallel:Error Handling
- Invalid commands are logged but donโt fail other commands
- Permission errors are reported to user
- GitHub API errors are retried automatically
- Command failures are logged for debugging