⚡ docsfy

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

Explore →

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

Explore →

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

Explore →

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

Explore →

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.

Explore →
🤖
AI-friendly documentation

This documentation is optimized for AI consumption.