1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/website/docs/reference/signals.md
Gastón Fournier 5db197839c
docs: signals and actions documentation (#6641)
## About the changes
This is the initial documentation for actions and signals.

Preview the changes:
https://unleash-docs-git-signals-docs-unleash-team.vercel.app/

- Actions:
https://unleash-docs-git-signals-docs-unleash-team.vercel.app/reference/actions
- Signals:
https://unleash-docs-git-signals-docs-unleash-team.vercel.app/reference/signals

---------

Co-authored-by: Alvin Bryan <107407814+alvinometric@users.noreply.github.com>
Co-authored-by: Nuno Góis <github@nunogois.com>
2024-03-21 19:40:09 +00:00

3.0 KiB

title
Signals

:::info Availability

Signals were introduced as a beta feature in Unleash 5.11 and are only available in Unleash Enterprise. We plan to make this feature generally available to all Enterprise users in Unleash 5.12.

:::

Overview

Signals represent that something happened somewhere. Signal endpoints allow external systems to let Unleash know about these signals via a simple HTTP API.

You can then configure actions to automatically react to the received signals.

Signals from external systems.

Depending on your use case, you can create multiple signal endpoints, one per each external source, or re-use the same endpoint across different sources, using different API tokens for each, so the source can be identified.

Creating signal endpoints

:::info Permissions

Creating signal endpoints requires the ADMIN permission.

:::

To create a new signal endpoint, navigate to the Admin UI and select Integrations from the configure menu.

Integrations menu.

In the integrations page, select the Signals integration:

Integrations menu.

After accessing the Signals integration configuration, you can use the "New signal endpoint" button. This will open a form where you can configure your new signal endpoint.

New signal form.

Using a signal endpoint

Using a signal endpoint is as easy as sending a POST request to the signal endpoint URL with the correct API token. The body payload is optional, but if present should be formatted as JSON.

curl -X POST https://unleash.example.com/api/signal-endpoint/my-signal-endpoint \
  -H "Authorization: Bearer your_token_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "my-signal",
    "data": {
      "key": "value"
    }
  }'

Configuring an external system to use your new signal endpoint should be straightforward as there's no requirement on the payload structure. The key aspects to take into consideration is making sure the URL is correct and that the token is sent in the Authorization header.

View signals as they arrive

To view the signals as they arrive, navigate to the Signals page in the Admin UI and select the View signals option in the respective signal endpoint row.

View signals option.

This can help you test that the integration is working before you send in the real signals, or diagnose any unexpected behavior.

Limits that apply

There are some constraints on the signal endpoints API as a measure to protect the stability of Unleash. These values can be overridden for self-hosted installations.

  • Rate limit: 1 request per second.
  • Max endpoints: 5.
  • Max tokens per endpoint: 5.
  • Payload size: 100kb (Express default).

Ref: Unleash Config

Reacting to signals

See Actions