mirror of
https://github.com/status-im/github-webhook-filter.git
synced 2026-08-27 08:41:09 +00:00
master
Otherwise we get error like this: error: Uncaught (in promise) PermissionDenied: Requires net access to "0.0.0.0:8900", run again with the --allow-net flag Signed-off-by: Jakub Sokołowski <jakub@status.im>
github-webhook-filter
A webhook filter for Deno that filters GitHub events before forwarding them to
a Discord webhook, reducing noise.
Additionally, it attempts to handle Discord ratelimits and resend the webhook events if needed,
instead of just dropping the requests like GitHub does.
Certain no-op events (which Discord would ignore anyway) and common CI bots are ignored by default; see configuration below for more.
Usage
- Host the project somewhere, for example https://deno.com/deploy. Remember to add the environment
variables you may want to set, see
lib/config.ts. - Create a Discord webhook (
https://discord.com/api/webhooks/1234/ABCDWXYZ). - Take the ID (
1234) and token (ABCDWXYZ) from the URL, and enterhttps://<filter_url>/1234/ABCDWXYZ(note: no/github) in the GitHub webhook settings:

- Optionally add configuration parameters (see below) to the URL, e.g.
?allowBranches=master,dev&hideTags=1. - ????
- Profit!
Configuration
Additional options can be configured per URL:
- Only forward events from specific branches (
allowBranches, simplified wildcard syntax)abc*xyzis equivalent to/^(abc.*xyz)$/stuff,thingsis equivalent to/^(stuff|things)$/!oh*hi*thereis equivalent to/^(oh.*hi.*there)$/inverted
- Ignore tag updates (
hideTags) - Ignore burst PR review comments in a short timespan, only showing the first x comments
(
commentBurstLimit)
Languages
TypeScript
98.8%
Dockerfile
1.2%