github-webhook-server
Automate GitHub repository management — PR workflows, CI checks, cherry-picks, and merge gates — from a single webhook server
Get Started →Getting Started
-
Getting Started
Install and run the webhook server, configure your first repository, and receive your first GitHub webhook in under 10 minutes
-
Deploying with Docker
Deploy the webhook server as a container using Docker Compose with persistent storage, health checks, and environment configuration
User Guides
-
Configuring Repositories
Set up config.yaml and per-repository .github-webhook-server.yaml files to control webhook behavior, tokens, and event subscriptions for each repository
-
Managing Pull Requests
Use PR comment commands like /retest, /cherry-pick, /approve, /rebase, /automerge, and /assign-reviewers to control your PR workflow
-
Setting Up CI Checks
Configure tox, pre-commit, container builds, Python module installs, conventional commit validation, and custom check runs that execute on every PR
-
Configuring Labels and PR Size Thresholds
Customize which labels are enabled, set label colors, and define PR size thresholds with custom categories like Tiny, Small, Medium, and Large
-
Cherry-Picking and Branch Protection
Automate cherry-picks to target branches on PR merge, configure branch protection rules, and use OWNERS files for approval workflows
-
Enabling Security Checks
Detect suspicious file path modifications and committer identity mismatches on pull requests, configure trusted committers, and set mandatory vs advisory security gates
-
Enabling AI Features
Configure AI-powered conventional title suggestions, automatic cherry-pick conflict resolution, and PR test oracle integration using Claude, Gemini, or Cursor
-
Using the Log Viewer
Enable the built-in log viewer to browse, search, filter, and export webhook processing logs through a web UI and REST API
-
Setting Up Slack Notifications
Configure Slack webhook URLs to receive notifications about PR merges, container builds, PyPI uploads, and other webhook processing events
Recipes
-
PR Comment Command Recipes
Copy-paste examples for common PR workflows: retesting failed checks, cherry-picking to release branches, rebasing PRs, overriding security checks, and triggering container builds
-
Configuration Recipes
Ready-to-use config.yaml snippets for common setups: bot auto-merge, conventional commits enforcement, multi-token failover, custom check runs, and repository-specific overrides
Reference
-
Configuration Reference
Complete reference for all config.yaml and .github-webhook-server.yaml options including server settings, repository settings, labels, security checks, AI features, and container builds
-
Webhook Events and Handlers
Reference of all supported GitHub webhook events (push, pull_request, issue_comment, check_run, status, pull_request_review) and what each handler does
-
Environment Variables
Reference of all environment variables: WEBHOOK_SERVER_DATA_DIR, ENABLE_LOG_SERVER, ENABLE_MCP_SERVER, SIDECAR_PORT, and Docker Compose configuration options
-
Log Viewer API Reference
REST API reference for log entries, log export, PR flow visualization, workflow steps, and WebSocket streaming endpoints
Guides
-
Publishing Packages to PyPI
How to configure automatic PyPI package publishing when a Git tag is pushed. Covers the pypi config section (token setup), the tag-push trigger mechanism, automatic issue creation on publish failure, Slack notifications on success, and the relationship with the python-module-install PR check that validates builds before release.
-
MCP Server for AI Agents
How to enable and use the Model Context Protocol (MCP) server that exposes webhook server API endpoints (log entries, export, PR flow, workflow steps) as tools for AI agents. Covers enabling via ENABLE_MCP_SERVER, the /mcp endpoint, connecting AI clients (Claude Desktop, Cursor, etc.), available tools, MCP logging configuration (mcp-log-file), security considerations (no authentication, trusted networks only), and stateless session mode.