Configure webhooks
Certain actions in SE2 can trigger webhooks to notify other services of the event. The receivers of webhooks get contextually relevant information about the request SE2 receiver. By default, no webhooks are configured.
You can set your own webhooks in the se2-config.yaml
file that subo
created for you in your suborbital/config
directory.
Configuration options
The webhooks
stanza in se2-config.yaml
consists of a top level webhooks
object with a list of entries.
Each entry has an id
referencing the builder.function.promoted
hook point and a list of one or more HTTP targets
, which consist of a url
, method
, and dictionary of headers
(optional).
Examples
A simple inline example:
capabilities:
# ...
webhooks:
- id: builder.function.promoted
targets:
- url: http://example.com/promoted
method: POST
headers:
'X-Some-Header': 'some value'
An example with shared headers and multiple targets for a single hook point:
commonHeaders: &commonHeaders
'Authorization': 'Bearer d2UncmUgaGlyaW5nCg=='
webhooks:
- id: builder.function.promoted
targets:
- url: http://echo-server:1234/promoted
method: POST
headers: *commonHeaders
- url: https://postman-echo.com/post
method: POST
headers: *commonHeaders
Hook points
Stay tuned for more hook points!
builder.function.promoted
Description Runs when an end user successfully deploys a plugin.
Sample response(JSON):
{
"webhook_id": "builder.function.promoted",
"compute_context": {
"request_id": "ac1f5e84-5327-46a5-9d71-8ad766f39979",
"request_url": "/api/v1/draft/com.suborbital.demo/default/webhook/promote"
},
"response_body": {
"ident": "com.suborbital.demo",
"namespace": "default",
"fn": "webhook",
"version": "v1.0.0"
}
}