← Back
Menci

Menci/webhook-filter

Filter the GitHub webhook events on your repositories with arbitrary JSONata expressions.

View on GitHub ↗
Stars
3
Forks
1
Watchers
3
Open issues
0
Contributors
1
Language
TypeScript
License
MIT License
Default branch
main
Created Oct 1, 2026Updated Oct 1, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Webhook Filter

Made by Human

Filter the GitHub webhook events on your repositories with arbitrary JSONata expressions.

Usage

  1. Copy wrangler.example.jsonc to wrangler.jsonc and fill in your allowed repo list, separated by commas.
  2. Deploy to Cloudflare Workers with pnpm deploy.
  3. Edit your GitHub webhook configuration to set the URL to https://<your-worker-subdomain>.workers.dev/?expression=<jsonata-expression>&url=<target-url>, where:
    • <jsonata-expression> is a JSONata expression that will be evaluated against the { headers, body } object, where headers is the flatten header entries (array of [key, value] tuples) and body is the parsed JSON body of the webhook event.
    • <target-url> is the URL of the service you want to forward the webhook event to when the former evaluates to a truthy value.

To diagnose the evaluation of your expression, you can use the ?debug query parameter to echo back the evaluation result instead of forwarding the request to the target URL.

License

MIT