WebHooker/docs/events/supported.md
RhenCloud fd6ccda411
fix(check): key check_run in-place edits on check name + head_sha
Providers that emit a fresh check run id per phase (e.g. Cloudflare Pages)
no longer post a new message for each status change; same name + commit
SHA now edits the existing message. Falls back to the run id when name or
head_sha is absent. Docs updated in sync.
2026-08-31 01:17:13 +08:00

10 KiB

Supported Events

WebHooker supports 28 GitHub webhook event types, each with a dedicated formatter that produces rich Discord embeds and Telegram HTML messages — plus custom events from signed custom JSON webhooks. Unsupported events fall through to a generic formatter.

Events Table

Event Description Embed Highlights
push Code pushed to a branch Commit list, branch, author, diff stats
pull_request PR opened/closed/merged/edited PR title, branch, diff stats, labels
issues Issue opened/closed/edited Issue title, labels, assignees
issue_comment Comment on issue or PR Comment body, issue reference
workflow_run CI/CD workflow phase updated Workflow status, conclusion, duration; phases update a single message in place
workflow_job CI job phase updated Job name, status, conclusion, workflow
status Commit status updated Commit status, context, state, commit link
deployment Deployment created Environment, ref, task
deployment_status Deployment status updated Environment, status, commit ref
check_run Check run phase updated Status, conclusion, details URL; phases update a single message in place
check_suite Check suite completed Suite conclusion, head branch, commit link
ping Webhook confirmation Webhook confirmation, event types subscribed
release Release published/edited Tag, body, assets, pre-release flag
create Branch or tag created Ref name, ref type
delete Branch or tag deleted Ref name, ref type
star Repository starred/unstarred Star count, action
fork Repository forked Source → target fork
pull_request_review PR review submitted Review state (approved/changes/commented), body
pull_request_review_comment Inline code review comment File path, line number, comment body
commit_comment Comment on a commit Commit SHA, comment body
member Collaborator added/removed Member login, action
label Label created/edited/deleted Label name, color, description
milestone Milestone opened/closed Progress bar, issue counts, due date
discussion Discussion created/answered Title, category, action
discussion_comment Comment on discussion Comment body, discussion reference
repository Repo renamed/transferred Old → new name, changes
code_scanning_alert Code scanning alert Severity, rule ID, file path
dependabot_alert Dependabot alert Severity, package, vulnerable range, fix version
custom Signed custom JSON webhook Arbitrary title/description/color/url/author/fields (see Custom webhooks)

Color Coding

Each event type uses a distinct color in the Discord embed (from server/lib/formatters/colors.ts):

Color Events
Green (#2da44e) push, PR opened / ready for review, issue opened, workflow success, release published, check success, review approved, deployment success, member added, milestone closed, discussion answered
Red (#f85149) PR closed, issue closed, workflow failure, release deleted, delete, check failure, review changes requested, deployment failure, member removed, code scanning / dependabot critical & high
Purple (#8957e5) PR merged, label, discussion
Blue (#1f6feb) PR (other actions), issue reopened, fork, milestone opened
Yellow (#d29922) workflow (queued/running/other), release prerelease, star, check (other), deployment pending, code scanning / dependabot medium
Gray (#6e7681) issue comment, commit comment, discussion comment
Gray (#8b949e) review commented, repository, code scanning / dependabot low, default

Generic Fallback

Any event type without a dedicated formatter falls through to the generic formatter, which produces a basic embed with:

  • Event type as title (plus the action when available)
  • Actor login (author line)
  • Repository name in the footer

In-Place Message Updates

workflow_run and check_run events (queued → running → success/failure) are sent once and then edited in place for each subsequent phase instead of posting a new message. The original message's link preview, author, and field layout are preserved; only the status, conclusion emoji, duration, and title are refreshed. Supported on both Discord (editMessage) and Telegram (editMessageText / editMessageCaption). check_run tracks by check name + commit SHA (falling back to the run id), so providers that issue a new run id per phase — e.g. Cloudflare Pages — still edit the same message.

Filter Compatibility

See the Filter Tutorial for a hands-on guide with worked examples.

Filter Works With
event All events
repo All events
actor All events
action Events with action field in payload
branch push, pull_request, pull_request_review, pull_request_review_comment, create, delete, workflow_run, workflow_job, check_suite, deployment, code_scanning_alert
keyword All events (searches full payload body)