{"id":42596538,"url":"https://github.com/shteou/gwrp","last_synced_at":"2026-01-29T00:10:24.844Z","repository":{"id":46282994,"uuid":"413183583","full_name":"shteou/gwrp","owner":"shteou","description":"GitHub WebHook Reverse Proxy","archived":false,"fork":false,"pushed_at":"2021-11-03T20:55:42.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T09:45:12.451Z","etag":null,"topics":["github","go","golang","reverse-proxy","webhook"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shteou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-03T20:00:22.000Z","updated_at":"2024-06-21T09:45:12.452Z","dependencies_parsed_at":"2022-09-14T05:20:18.884Z","dependency_job_id":null,"html_url":"https://github.com/shteou/gwrp","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/shteou/gwrp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shteou%2Fgwrp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shteou%2Fgwrp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shteou%2Fgwrp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shteou%2Fgwrp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shteou","download_url":"https://codeload.github.com/shteou/gwrp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shteou%2Fgwrp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28857080,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"ssl_error","status_checked_at":"2026-01-28T22:56:00.861Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","go","golang","reverse-proxy","webhook"],"created_at":"2026-01-29T00:10:24.262Z","updated_at":"2026-01-29T00:10:24.839Z","avatar_url":"https://github.com/shteou.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub WebHook Reverse Proxy (gwrp)\n\ngwrp (pronounced `gɜ:rp`) is a reverse proxy, or router, for your Github WebHooks.\n\ngwrp validates any incoming webhooks, and routes them to other service endpoints.  \nRouting rules are defined by a triple of the GitHub event, a target endpoint (POST)\nand a `jq` query which must successfully evaluate for the route to match.\n\ngwrp is useful where you want to route large numbers of GitHub webhooks to different components. This\navoids the limitation on the number of webhooks for each\n\n## Example configuration\n\nThe following environment variables define two rules, `GWRP_PRS` and `ALL_PINGS`.\n\nEach rule is of the form `github,event,list|url|jq query`.\n\n```\nRULE_GWRP_PRS=\"pull_request|https://my-receiver:8080/gwrp-webhook|.repository.full_name=='shteou/gwrp'\"\nRULE_ALL_PINGS=\"ping|https://my-receiver:8080/pings|.\"\n```\n\nGWRP_PRS is defined for `pull_request` events only, where the repository's full name is `shteou/gwrp`.  \nALL_PINGS is defined for `ping` events, and matches all json payloads, via the identity operator (`.`).\n\n## GitHub setup\n\nA GitHub Webhook should be setup pointing to your gwrp instance on the `/webhook` endpoint. It must specify\nthe json payload option. You can choose to send all events to gwrp, or just a subset.\n\nYou can also setup an organization webhook to forward to gwrp.\n\n## Helm Installations\n\nA fairly standard helm chart is supplied. `gitHub.secretKey` must be supplied, and an arbitrary number\nof rules can be configured as in the following example::\n\n```yaml\ngitHub:\n  secretKey: \"your-secret-key\"\n\nrules:\n  GWRP_PRS:\n    events: pull_requests\n    route: https://my-receiver:8080/gwrp-webhook\n    jq: .repository.full_name == \\\"shteou/gwrp\\\"\n  ALL_PINGS:\n    events: ping\n    route: https://my-receiver:8080/pings\n    jq: .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshteou%2Fgwrp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshteou%2Fgwrp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshteou%2Fgwrp/lists"}