Skip to content

webhook

Manage the server pool's release-notification webhook.

When set, every deploy run on the pool (and its apps) that reaches a terminal state — SUCCEEDED or FAILED, for any operation — POSTs a signed JSON payload to your URL. Bridge it to Slack (or anything) to get release success/failure updates per project.

The webhook is per server pool, so apps sharing a pool share one webhook.

Usage

openbase webhook -a my-app                                 # show URL + secret
openbase webhook set -a my-app https://hooks.me/openbase   # set (auto-secret)
openbase webhook set -a my-app https://hooks.me/x --secret s3cr3t
openbase webhook unset -a my-app                           # remove

Only the pool owner can view or change the webhook.

Payload & signature

The POST body is JSON with the run's status, operation, summary, reason, commit_sha, git_ref, a log_excerpt, and the stack/resource. It is signed with your secret over the raw body:

X-Openbase-Event: deployment_run.terminal
X-Openbase-Signature: sha256=<hex HMAC-SHA256 of the body with your secret>

Verify by recomputing the HMAC over the exact bytes received and comparing with a constant-time check.

Subcommands

Command Description
webhook Show the current URL and signing secret
webhook set URL [--secret S] Set the URL; secret is auto-generated if omitted
webhook unset Remove the webhook

Options

Option Description
-a, --app NAME Target app (or set OPENBASE_APP)
--secret (set only) Signing secret; omit to auto-generate
  • releases — deploy run history
  • ps — stack status