You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: integrate-with-steadybit/slack-notifications.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,14 @@ title: Slack Notifications
4
4
5
5
# Slack Notifications
6
6
7
-
You want to receive a Slack message whenever an experiment has started or failed? This can be achieve via `Settings / Application Settings / Integrations / Slack`.
7
+
You want to receive a Slack message whenever an experiment has started or failed? This can be achieve via `Settings` -> `Integrations` -> `Slack`.
8
8
9
9
> If you use an on-prem installation make sure to set the `STEADYBIT_WEB_PUBLIC_URL`, so we can add links to open Steadybit via links in the message.
|**Name**| The name for this integration will not show up in the message. |
14
-
|**URL**| The Slack webhook URL, which you can create in Slack by navigating Manage apps > Custom Integrations > Incoming Webhooks. |
14
+
|**URL**| The Slack webhook URL, which you can create in Slack by navigating `Manage apps` -> `Custom Integrations` -> `Incoming Webhooks`.|
15
15
|**Channel**| <p>The Slack channel which receives the message. If omitted the default from the Slack Webhook configuration will be used.<br><strong>optional</strong></p> |
16
16
|**Icon Url**| <p>You may specify a different icon to be used for the message.<br><strong>optional</strong></p> |
17
17
|**Team**| If no team is specified, you'll receieve all events. If you do specify a team you'll only receive notifications relevant for this team |
Copy file name to clipboardExpand all lines: integrate-with-steadybit/webhooks/custom-webhooks.md
+146-9
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,156 @@ title: Custom Webhooks
4
4
5
5
# Webhooks
6
6
7
-
Custom webhooks are triggered by Steadybit whenever e.g. an experiment has started or failed. You can configure them at `Settings / Application Settings / Integrations / Custom webhook`. The content type is `application/json` and the message is described in our [OpenAPI specification](https://platform.steadybit.com/api/spec) as `WebhookPayload`.
7
+
Custom webhooks are triggered by Steadybit whenever an experiment has progressed or the killswitch's status changes.
8
+
9
+
## Configure
10
+
11
+
You can configure custom webhooks at `Settings` -> `Integrations` -> `Custom webhook`.
12
+
The content type is `application/json`, and the message is described in our [OpenAPI specification](https://platform.steadybit.com/api/spec) as `WebhookPayload`.
|**Name**| The name for this integration will not show up in the JSON body. |
12
-
|**URL**| The URL, which will receive a HTTP Post request with the JSON body |
13
-
|**Secret**| <p>You may a specify a secret which will be used to sign the body. <ahref="/integrate-with-steadybit/webhooks/custom-webhooks.md#verifying-the-signature">Verifying the signature.</a><br><strong>optional</strong></p> |
14
-
|**Team**| If no team is specified, you'll receieve all events. If you do specify a team you'll only receive events relevant for this team |
15
-
|**Events**| You may select the events you want to recieve. |
17
+
|**URL**| The URL, which will receive an HTTP Post request with the JSON body |
18
+
|**Secret**| <p>You may specify a secret that will be used to sign the body. <ahref="/integrate-with-steadybit/webhooks/custom-webhooks.md#verifying-the-signature">Verifying the signature.</a><br><strong>optional</strong></p> |
19
+
|**Team**| If no team is specified, you'll receieve all events. If you do specify a team, you'll only receive events relevant to this team |
20
+
|**Events**| Choose the events you want to receive. |
21
+
22
+
## Supported Events
23
+
24
+
You can decide to react to the following events individually or get informed about all events.
25
+
26
+
### Experiment Executions
27
+
28
+
The body contains the event identifier (`event`), the `time`, and the experiment `execution` (see below).
|**Created**|`experiment.execution.created`| A new experiment execution was just started. As soon as all required agents have connected, the first step will be executed |
33
+
|**Step Started**|`experiment.execution.step-started`| One step of a running experiment started. |
34
+
|**Step Completed**|`experiment.execution.step-completed`| One step of a running experiment completed successfully (e.g. a check succeeded or the attack was performed). |
35
+
|**Step Failed**|`experiment.execution.step-failed`| One step of a running experiment failed (e.g. a check didn't match the defined expectation). |
36
+
|**Step Errored**|`experiment.execution.step-errored`| One step of a running experiment errored (e.g. a check or attack couldn't be executed due to a technical error). |
37
+
|**Canceled**|`experiment.execution.step-canceled`| The experiment execution was canceled, e.g., by a user. |
38
+
|**Completed**|`experiment.execution.completed`| The experiment completed succesfully, e.g., all steps have been completed successfully. |
39
+
|**Failed**|`experiment.execution.failed`| The experiment execution failed because at least one step failed. |
40
+
|**Errored**|`experiment.execution.errored`| The experiment execution errored because at least one step errored. |
41
+
|**Preflight Checks**|`experiment.execution.preflight`| A [preflight webhook check](./preflight-webhooks) is performed before the experiment is allowed to start. |
42
+
43
+
### Killswitch
44
+
45
+
The body contains the event identifier (`event`), the `time` and the `killswitch`'s state (see below).
|**Engaged Emergency Stop**|`killswitch.disengaged`| The [emergency stop](/use-steadybit/experiments/emergencyStop) was triggered to stop all experiment runs and prevent future runs. |
50
+
|**Disengaged Emergency Stop**|`killswitch.engaged`| The [emergency stop](/use-steadybit/experiments/emergencyStop) was disengaged to allow future experiment runs. |
51
+
52
+
53
+
## Developing Webhooks
16
54
17
-
#### Verifying the Signature
55
+
A webhook uses an HTTP POST request at an endpoint reachable from the Steadybit platform.
56
+
The HTTP request sends a body with the content-type `application/json`.
57
+
Our [OpenAPI specification](https://platform.steadybit.com/api/spec) describes the exact body in `WebhookPayload`.
18
58
19
-
If a secret is provided a signature of the body is computed using `HMAC SHA-256` and sent as `X-SB-Signature` http header. You can use this header to verify the message.
59
+
### Examples
60
+
61
+
This section covers some example requests to ease developing the webhook endpoint.
62
+
63
+
#### Experiment Execution Created
64
+
65
+
The request body that is sent to your endpoint depends on the specific experiment that is executed.
If a secret is provided a signature of the body is computed using `HMAC SHA-256` and sent as `X-SB-Signature` http header. You can use this header to verify the
0 commit comments