Files
compliance-scanner-agent/docs/guide/webhooks.md
T
Sharang ParnerkarandClaude Opus 4.8 5ad9d2d77c
CI / Check (push) Skipped
CI / Detect Changes (pull_request) Skipped
CI / Deploy Agent (pull_request) Skipped
CI / Deploy Dashboard (pull_request) Skipped
CI / Deploy Docs (pull_request) Skipped
CI / Deploy MCP (pull_request) Skipped
CI / Check (pull_request) Failing after 1m55s
docs: rebrand Certifai -> Prüfwerk (user-facing name)
The product is renamed Certifai -> Prüfwerk. This changes only the user-facing
brand text in the documentation (docs/**, VitePress title/name). It does NOT
touch functional identifiers that happen to contain "certifai" (the Docker
network, Keycloak realm/client, Harbor image project, the compliance-* crate
names, or the repo name) — those are infra-coupled and need a separate,
coordinated migration.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EgxGHn22YEfQz5fLHSHkLv
2026-09-02 09:53:45 +02:00

3.4 KiB

Webhooks & PR Reviews

Webhooks let Prüfwerk respond to events in your Git repositories automatically. When configured, pushes to your repository trigger scans, and pull requests receive automated security reviews.

What Webhooks Enable

  • Automatic scans on push -- every time code is pushed to your default branch, a scan is triggered automatically
  • PR security reviews -- when a pull request is opened or updated, Prüfwerk scans the changes and posts a review comment summarizing any security findings in the diff

Finding the Webhook URL and Secret

Each repository in Prüfwerk has its own webhook URL and secret:

  1. Go to Repositories
  2. Click Edit on the repository you want to configure
  3. In the edit modal, you will find the Webhook URL and Webhook Secret
  4. Copy both values -- you will need them when configuring your Git hosting provider

Setting Up Webhooks

Gitea

  1. Go to your repository in Gitea
  2. Navigate to Settings > Webhooks > Add Webhook > Gitea
  3. Set the Target URL to the webhook URL from Prüfwerk
  4. Set the Secret to the webhook secret from Prüfwerk
  5. Under Trigger On, select:
    • Push Events -- for automatic scans on push
    • Pull Request Events -- for PR security reviews
  6. Set the content type to application/json
  7. Click Add Webhook

GitHub

  1. Go to your repository on GitHub
  2. Navigate to Settings > Webhooks > Add webhook
  3. Set the Payload URL to the webhook URL from Prüfwerk
  4. Set the Content type to application/json
  5. Set the Secret to the webhook secret from Prüfwerk
  6. Under Which events would you like to trigger this webhook?, select Let me select individual events, then check:
    • Pushes -- for automatic scans on push
    • Pull requests -- for PR security reviews
  7. Click Add webhook

GitLab

  1. Go to your project in GitLab
  2. Navigate to Settings > Webhooks
  3. Set the URL to the webhook URL from Prüfwerk
  4. Set the Secret token to the webhook secret from Prüfwerk
  5. Under Trigger, check:
    • Push events -- for automatic scans on push
    • Merge request events -- for PR security reviews
  6. Click Add webhook

PR Review Flow

When a pull request (or merge request) is opened or updated, the following happens:

  1. Your Git provider sends a webhook event to Prüfwerk
  2. Prüfwerk checks out the PR branch and runs a targeted scan on the changed files
  3. Findings specific to the changes in the PR are identified
  4. Prüfwerk posts a review comment on the PR summarizing:
    • Number of new findings introduced by the changes
    • Severity breakdown
    • Details for each finding including file, line, and remediation guidance

This gives developers immediate security feedback in their pull request workflow, before code is merged.

::: tip PR reviews focus only on changes introduced in the pull request, not the entire codebase. This keeps reviews relevant and actionable. :::

Events to Select

Here is a summary of which events to enable for each feature:

Feature Gitea GitHub GitLab
Scan on push Push Events Pushes Push events
PR reviews Pull Request Events Pull requests Merge request events

You can enable one or both depending on your workflow.

::: warning Make sure the webhook secret matches exactly between your Git provider and Prüfwerk. Requests with an invalid signature are rejected. :::