feat: any webhook #3

Merged
jwarykowski merged 1 commit from feat/any-webhook into main 2026-10-16 15:19:21 +00:00
Owner

A webhook provider for services the relay does not know.

  • The event name is the last part of the address (/h//deploy.done) or a JSON body "event"; repo, branch and number optional. Names: letters, digits, dots, dashes, underscores.
  • GET works with the name in the address, for services that only fetch a URL; GitHub and Forgejo hooks stay POST and JSON.
  • PATCH /v1//hooks/ {requireSecret} (Go: Product.RequireSecret): the hook then refuses anything without Authorization: Bearer .

Tests: 22 Worker tests (names from address and body, GET, bad names, the secret switch, GitHub unchanged), Go client test for RequireSecret.

A webhook provider for services the relay does not know. - The event name is the last part of the address (/h/<id>/deploy.done) or a JSON body "event"; repo, branch and number optional. Names: letters, digits, dots, dashes, underscores. - GET works with the name in the address, for services that only fetch a URL; GitHub and Forgejo hooks stay POST and JSON. - PATCH /v1/<product>/hooks/<id> {requireSecret} (Go: Product.RequireSecret): the hook then refuses anything without Authorization: Bearer <secret>. Tests: 22 Worker tests (names from address and body, GET, bad names, the secret switch, GitHub unchanged), Go client test for RequireSecret.
feat: any webhook
All checks were successful
CI / worker (pull_request) Successful in 38s
CI / go (pull_request) Successful in 1m12s
02fb164f2f
A webhook provider for services the relay doesn't know: the event's name is the last part of the address or a JSON body's event, a GET works for services that only fetch a URL, and the app can make the hook require its secret as a bearer token (PATCH, RequireSecret in the Go client).
jwarykowski deleted branch feat/any-webhook 2026-10-16 15:19:21 +00:00
jwarykowski referenced this pull request from a commit 2026-10-16 15:19:22 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jwarykowski/relay!3
No description provided.