Webhooks allow you to build integrations to OneFuzz that subscribe to events from your fuzzing workflow. When an event is triggered, an HTTP POST will be sent to the URL for the webhook.
See the Webhook Event Types for a full list of available webhook events, the schemas for each events, as well as an example.
When configuring a webhook, you can specify which events to subscribe.
Example creating a webhook subscription only the task_created
events:
$ onefuzz webhooks create MYWEBHOOK https://contoso.com/my-custom-webhook task_created
{
"webhook_id": "cc6926de-7c6f-487e-96ec-7b632d3ed52b",
"name": "MYWEBHOOK",
"event_types": [
"task_created"
]
}
$
Example creating a webhook subscription only the task_created
events that produces webhook data in Azure Event Grid compatible format:
$ onefuzz webhooks create MYWEBHOOK https://contoso.com/my-custom-webhook task_created --message_format event_grid
{
"webhook_id": "cc6926de-7c6f-487e-96ec-7b632d3ed52b",
"name": "MYWEBHOOK",
"event_types": [
"task_created"
]
}
$
$ onefuzz webhooks list
[
{
"webhook_id": "cc6926de-7c6f-487e-96ec-7b632d3ed52b",
"name": "MYWEBHOOK",
"event_types": [
"task_created"
]
}
]
$
This example updates the previously created webhook and sets the subscribed event types to task_created
and task_failed
.
$ onefuzz webhooks update cc6926de-7c6f-487e-96ec-7b632d3ed52b --event_types task_created task_failed
{
"webhook_id": "cc6926de-7c6f-487e-96ec-7b632d3ed52b",
"name": "MYWEBHOOK",
"event_types": [
"task_created",
"task_failed"
]
}
$
At any time, you can test your webhooks by sending a ping event to your webhook using the CLI.
$ onefuzz webhooks ping 1809010d-57fd-4085-a7ce-9d248895e651
{
"ping_id": "f8c5694e-3307-4646-8489-45e6f897b7f6"
}
$
This example pings the webhook 1809010d-57fd-4085-a7ce-9d248895e651
and provides
the event payload that will be sent to the webhook.
When creating or updating a webhook, you can specify a secret_token
which will be used to generate
an HMAC-SHA512 of the payloads, and which will be added to the HTTP headers as X-Onefuzz-Digest
.