1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/website/docs/reference/api/legacy/unleash/admin/addons.md
Thomas Heartman 1539d1955f
docs(1-1262): Change addons -> integrations (#4523)
This PR replaces references to _addons_ in the docs with references to
_integrations_.

In doing so, I have also:
- moved `/reference/addons` documents into `/reference/integrations`
- combined the previous "Addons" and "Integrations" categories into a
new "Integrations" category
- added redirects from all the old addons pages to their new locations

I have updated the wording, but have not changed things such as API
paths, event names, etc, because these will not change at the moment
(maybe a breaking change to schedule for v6?).

---------

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2023-09-14 15:27:51 +02:00

3.9 KiB

title
/api/admin/addons

In order to access the admin API endpoints you need to identify yourself. Unless you're using the none authentication method, you'll need to create an ADMIN token and add an Authorization header using the token.

List integrations and providers

GET https://unleash.host.com/api/admin/addons

Returns a list of configured integrations and available integration providers.

Example response:

{
  "addons": [
    {
      "id": 30,
      "provider": "webhook",
      "enabled": true,
      "description": "post updates to slack",
      "parameters": {
        "url": "http://localhost:4242/webhook"
      },
      "events": ["feature-created", "feature-updated"]
    },
    {
      "id": 33,
      "provider": "slack",
      "enabled": true,
      "description": "default",
      "parameters": {
        "defaultChannel": "integration-demo-instance",
        "url": "https://hooks.slack.com/someurl"
      },
      "events": ["feature-created", "feature-updated"]
    }
  ],
  "providers": [
    {
      "name": "webhook",
      "displayName": "Webhook",
      "description": "Webhooks are a simple way to post messages from Unleash to third party services. Unleash make use of normal HTTP POST with a payload you may define yourself.",
      "parameters": [
        {
          "name": "url",
          "displayName": "Webhook URL",
          "type": "url",
          "required": true
        },
        {
          "name": "bodyTemplate",
          "displayName": "Body template",
          "description": "You may format the body using a mustache template. If you don't specify anything, the format will be similar to the /api/admin/events format",
          "type": "textfield",
          "required": false
        }
      ],
      "events": [
        "feature-created",
        "feature-updated",
        "feature-archived",
        "feature-revived"
      ]
    },
    {
      "name": "slack",
      "displayName": "Slack",
      "description": "Integrates Unleash with Slack.",
      "parameters": [
        {
          "name": "url",
          "displayName": "Slack webhook URL",
          "type": "url",
          "required": true
        },
        {
          "name": "defaultChannel",
          "displayName": "Default channel",
          "description": "Default channel to post updates to if not specified in the slack-tag",
          "type": "text",
          "required": true
        }
      ],
      "events": [
        "feature-created",
        "feature-updated",
        "feature-archived",
        "feature-revived"
      ],
      "tags": [
        {
          "name": "slack",
          "description": "Slack tag used by the slack integration to specify the slack channel.",
          "icon": "S"
        }
      ]
    }
  ]
}

Create a new integration configuration

POST https://unleash.host.com/api/addons

Creates an integration configuration for an integration provider.

Body

{
  "provider": "webhook",
  "description": "Optional description",
  "enabled": true,
  "parameters": {
    "url": "http://localhost:4242/webhook"
  },
  "events": ["feature-created", "feature-updated"]
}

Notes

  • provider must be a valid integration provider

Update new integration configuration

POST https://unleash.host.com/api/addons/:id

Updates an integration configuration.

Body

{
  "provider": "webhook",
  "description": "Optional updated description",
  "enabled": true,
  "parameters": {
    "url": "http://localhost:4242/webhook"
  },
  "events": ["feature-created", "feature-updated"]
}

Notes

  • provider can not be changed.

Delete an integration configuration

DELETE https://unleash.host.com/api/admin/addons/:id

Deletes the integration with id=id.