Skip to content

Commit

Permalink
docs(1-1262): Change addons -> integrations (#4523)
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
thomasheartman and Tymek committed Sep 14, 2023
1 parent f89d42f commit 1539d19
Show file tree
Hide file tree
Showing 17 changed files with 112 additions and 118 deletions.
3 changes: 1 addition & 2 deletions website/docs/about-the-docs.md
Expand Up @@ -45,11 +45,10 @@ The reference docs contain technical reference for Unleash and the API. Go here

The reference docs are organized into the following topics:

- [Addons](./reference/addons/addons.md)
- [API documentation](./reference/api/legacy/unleash/index.md)
- [Unleash SDKs](./reference/sdks/index.md)
- [Deployment and management of Unleash](./reference/deploy)
- [Integrations with other systems](./reference/integrations/integrations.md)
- [Integrations](./reference/integrations/integrations.md)
- [Unleash concepts](./reference/concepts)

### Topic guides
Expand Down
Expand Up @@ -4,7 +4,7 @@ title: Feature Updates To slack

:::caution

This guide is deprecated. If you're looking for ways to integrate with Slack, you should refer to [the Slack add-on guide](../reference/addons/slack.md) instead.
This guide is deprecated. If you're looking for ways to integrate with Slack, you should refer to [the Slack integration guide](../reference/integrations/slack.md) instead.

Event hook option is removed in Unleash v5

Expand Down
21 changes: 0 additions & 21 deletions website/docs/reference/addons/addons.md

This file was deleted.

20 changes: 10 additions & 10 deletions website/docs/reference/api/legacy/unleash/admin/addons.md
Expand Up @@ -4,11 +4,11 @@ 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](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
### List addons and providers {#list-addons-and-providers}
### List integrations and providers {#list-integrations-and-providers}

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

Returns a list of _configured addons_ and available _addon providers_.
Returns a list of _configured integrations_ and available _integration providers_.

**Example response:**

Expand Down Expand Up @@ -92,7 +92,7 @@ Returns a list of _configured addons_ and available _addon providers_.
"tags": [
{
"name": "slack",
"description": "Slack tag used by the slack-addon to specify the slack channel.",
"description": "Slack tag used by the slack integration to specify the slack channel.",
"icon": "S"
}
]
Expand All @@ -101,11 +101,11 @@ Returns a list of _configured addons_ and available _addon providers_.
}
```

### Create a new addon configuration {#create-a-new-addon-configuration}
### Create a new integration configuration {#create-a-new-integration-configuration}

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

Creates an addon configuration for an addon provider.
Creates an integration configuration for an integration provider.

**Body**

Expand All @@ -123,13 +123,13 @@ Creates an addon configuration for an addon provider.

### Notes {#notes}

- `provider` must be a valid addon provider
- `provider` must be a valid integration provider

### Update new addon configuration {#update-new-addon-configuration}
### Update new integration configuration {#update-new-integration-configuration}

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

Updates an addon configuration.
Updates an integration configuration.

**Body**

Expand All @@ -149,8 +149,8 @@ Updates an addon configuration.

- `provider` can not be changed.

### Delete an addon configuration {#delete-an-addon-configuration}
### Delete an integration configuration {#delete-an-integration-configuration}

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

Deletes the addon with id=`id`.
Deletes the integration with id=`id`.
8 changes: 4 additions & 4 deletions website/docs/reference/deploy/configuring-unleash.md
Expand Up @@ -20,7 +20,7 @@ In order for Unleash server to work, you need a running database and its connect
- Used to create
- Reset password URLs
- Welcome link for new users
- Links in events for our Slack, Microsoft Teams and Datadog addons
- Links in events for our Slack, Microsoft Teams and Datadog integrations

### Email server details {#email-server-details}

Expand Down Expand Up @@ -95,7 +95,7 @@ unleash.start(unleashOptions);
- `sender` - Which email should be set as sender of mails being sent from Unleash?
- `smtpuser` - Username for your SMTP server
- `smtppass` - Password for your SMTP server
- ~~eventHook~~ (`function(event, data)`) - (_deprecated in Unleash 4.3_ in favor of the [Webhook addon](../addons/webhook.md). **Removed in Unleash 5**) If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-archived'` and `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` the data follows a schema defined in the code [here](https://github.com/Unleash/unleash/blob/7b7f0b84e8cddd5880dcf29c231672113224b9a7/src/lib/schema/feature-schema.ts#L77). See an [api here](/reference/api/legacy/unleash/admin/events).
- ~~eventHook~~ (`function(event, data)`) - (_deprecated in Unleash 4.3_ in favor of the [Webhook integration](../integrations/webhook.md). **Removed in Unleash 5**) If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-archived'` and `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` the data follows a schema defined in the code [here](https://github.com/Unleash/unleash/blob/7b7f0b84e8cddd5880dcf29c231672113224b9a7/src/lib/schema/feature-schema.ts#L77). See an [api here](/reference/api/legacy/unleash/admin/events).
- **getLogger** (function) - Used to register a [custom log provider](#how-do-i-configure-the-log-output).
- **logLevel** (`debug` | `info` | `warn` | `error` | `fatal`) - The lowest level to log at, also configurable using environment variable `LOG_LEVEL`.
- **enableRequestLogger** (boolean) - use this to enable logging for requested urls and response codes (default: false).
Expand Down Expand Up @@ -356,7 +356,7 @@ Unleash builds directly on the [node-postgres library](https://node-postgres.com

### Proxying requests from Unleash

You can configure proxy services that intercept all outgoing requests from Unleash. This lets you use the Microsoft Teams or the Webhook addon for external services, even if the internet can only be reached via a proxy on your machine or container (for example if restricted by a firewall or similiar).
You can configure proxy services that intercept all outgoing requests from Unleash. This lets you use the Microsoft Teams or the Webhook integration for external services, even if the internet can only be reached via a proxy on your machine or container (for example if restricted by a firewall or similiar).

As an example, here's how you could do it using the [node-global-proxy](https://www.npmjs.com/package/node-global-proxy) package:

Expand All @@ -371,6 +371,6 @@ proxy.setConfig({
proxy.start(); //this starts the proxy, after this call all requests will be proxied
```

Using above code-snippet, every outgoing request from unleash or its addons will be subsequently routed through set proxy. If the proxy routing needs to be bypassed or stopped, its possible to stop it by using
Using above code-snippet, every outgoing request from unleash or its integrations will be subsequently routed through set proxy. If the proxy routing needs to be bypassed or stopped, its possible to stop it by using

`proxy.stop();`
4 changes: 2 additions & 2 deletions website/docs/reference/environments.md
Expand Up @@ -100,11 +100,11 @@ If you're currently using strategy constraints together with the “environment

![A strategy constraint using the environment field of the unleash context.](/img/environments_strategy_constraints.png 'You will not use strategy constraints for environments any more.')

### Addons
### Integrations

We have made some slight changes to events related to feature toggles: there's one deprecation and several new event types. Most of the new events contain _project_ and _environment_ data.

To avoid missing important updates, you will also need to update your addon configuration to subscribe to the new events.
To avoid missing important updates, you will also need to update your integration configuration to subscribe to the new events.

**Deprecated events:**

Expand Down
8 changes: 4 additions & 4 deletions website/docs/reference/event-types.mdx
Expand Up @@ -1171,11 +1171,11 @@ This event fires when you drop all existing tag types as part of a configuration
}
```

## Addon events
## Integration events

### `addon-config-created`

This event fires when you create an addon configuration. The `data` property contains the provider type.
This event fires when you create an integration configuration. The `data` property contains the provider type.

```json title="example event: addon-config-created"
{
Expand All @@ -1196,7 +1196,7 @@ This event fires when you create an addon configuration. The `data` property con

### `addon-config-updated`

This event fires when you update an addon configuration. The `data` property contains the addon's ID and provider type.
This event fires when you update an integration configuration. The `data` property contains the integration's ID and provider type.

```json title="example event: addon-config-updated"
{
Expand All @@ -1218,7 +1218,7 @@ This event fires when you update an addon configuration. The `data` property con

### `addon-config-deleted`

This event fires when you update an addon configuration. The `data` property contains the addon's ID.
This event fires when you update an integration configuration. The `data` property contains the integration's ID.

```json title="example event: addon-config-deleted"
{
Expand Down
2 changes: 1 addition & 1 deletion website/docs/reference/feature-toggle-types.md
Expand Up @@ -48,7 +48,7 @@ Unleash admins can change the expected lifetime of Unleash's feature types from

You can mark feature toggles as `stale`. This is a way to deprecate a feature toggle without removing the active configuration for connected applications. Use this to signal that you should stop using the feature in your applications. Stale toggles will show as stale in the ["technical debt dashboard"](technical-debt.md).

When you mark a toggle as stale, Unleash will emit an event. You can use [an addon](addons/addons.md) to integrate this with your systems, for instance to post a message in a Slack channel.
When you mark a toggle as stale, Unleash will emit an event. You can use [an integration](integrations/integrations.md) to integrate this with your systems, for instance to post a message in a Slack channel.

Additionally, with some extra work, you can also use the `stale` property to:

Expand Down
Expand Up @@ -5,9 +5,9 @@ title: Datadog

> This feature was introduced in _Unleash v4.0.0_.
The Datadog addon allows Unleash to post Updates to Datadog when a feature toggle is updated. To set up this addon, you need to set up a webhook connector for your channel. You can follow [Submitting events to Datadog](https://docs.datadoghq.com/api/latest/events/#post-an-event) on how to do that.
The Datadog integration allows Unleash to post Updates to Datadog when a feature toggle is updated. To set up this integration, you need to set up a webhook connector for your channel. You can follow [Submitting events to Datadog](https://docs.datadoghq.com/api/latest/events/#post-an-event) on how to do that.

The Datadog addon will perform a single retry if the HTTP POST against the Datadog Webhook URL fails (either a 50x or network error). Duplicate events may happen, and you should never assume events always comes in order.
The Datadog integration will perform a single retry if the HTTP POST against the Datadog Webhook URL fails (either a 50x or network error). Duplicate events may happen, and you should never assume events always comes in order.

## Configuration {#configuration}

Expand All @@ -33,7 +33,7 @@ You can choose to trigger updates for the following events:
#### Parameters {#parameters}

Unleash Datadog addon takes the following parameters.
Unleash Datadog integration takes the following parameters.

- **Datadog Events URL** - This property is optional. The default url is https://api.datadoghq.com/api/v1/events. Needs to be changed if you are not not on the US1 [Datadog site](https://docs.datadoghq.com/getting_started/site/). Possible alternatives:
- EU: https://app.datadoghq.eu/api/v1/events
Expand All @@ -44,4 +44,4 @@ Unleash Datadog addon takes the following parameters.

#### Tags {#tags}

Datadog's incoming webhooks are app specific. You will be able to create multiple addons to support messaging on different apps.
Datadog's incoming webhooks are app specific. You will be able to create multiple integrations to support messaging on different apps.
45 changes: 36 additions & 9 deletions website/docs/reference/integrations/integrations.md
@@ -1,23 +1,50 @@
---
id: integrations
title: External Integrations and plugins
id: index
title: Integrations
---
import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

:::info Availability

Unleash can also integrate with other systems in different ways.
Unleash integrations were introduced in _Unleash v3.11.0_.

Integrations were previously known as _addons_.

:::

Unleash integrations allows you to extend Unleash with new functionality and to connect to external applications.

Unleash has two types of integrations: Integrations that allow you to listen to changes in Unleash and trigger updates in other systems (for instance via webhooks or direct integrations) and integrations that communicate with Unleash (such as the Jira integrations).

## Official integrations

Unleash provides these official integrations:
Unleash currently supports the following integrations out of the box:

<DocCardList items={useCurrentSidebarCategory().items}/>
- [Datadog](datadog.md) - Allows Unleash to post Updates to Datadog when a feature toggle is updated.
- [Jira Cloud](jira-cloud-plugin-usage.md) - Allows you to create, view and manage Unleash feature flags directly from a Jira Cloud issue
- [Jira Server](jira-server-plugin-usage.md) - Allows you to create and link Unleash feature flags directly from a Jira Server issue
- [Microsoft Teams](teams.md) - Allows Unleash to post updates to Microsoft Teams.
- [Slack](slack.md) - Allows Unleash to post updates to Slack.
- [Webhook](webhook.md) - A generic way to post messages from Unleash to third party services.

## Community-contributed integrations:
:::tip Missing an integration? Request it!

If you're looking for an integration that Unleash doesn't have at the moment, you can fill out this [integration request form](https://docs.google.com/forms/d/e/1FAIpQLScR1_iuoQiKq89c0TKtj0gM02JVWyQ2hQ-YchBMc2GRrGf7uw/viewform) to register it with us.

:::

## Community integrations

Our wonderful community has also created the following integrations:

- [Vue Unleash plugin](https://github.com/crishellco/vue-unleash)
- [Quarkus](https://github.com/quarkiverse/quarkus-unleash)
- [Fastify feature flags plugin](https://gitlab.com/m03geek/fastify-feature-flags#unleash-provider)
- [Quarkus](https://github.com/quarkiverse/quarkus-unleash)
- [Vue Unleash plugin](https://github.com/crishellco/vue-unleash)

## Notes {#notes}

When updating or creating a new integration configuration it can take up to one minute before Unleash picks up the new config on all instances due to caching.

## Integration pages

<DocCardList />
Expand Up @@ -5,9 +5,9 @@ title: Slack

> This feature was introduced in _Unleash v3.11.0_.
The Slack addon allows Unleash to post Updates when a feature toggle is updated. To set up Slack, you need to configure an incoming Slack webhook URL. You can follow [Sending messages using Incoming Webhooks](https://api.slack.com/incoming-webhooks) on how to do that. You can also choose to [create a slack app for Unleash](https://api.slack.com/apps), which will provide you with additional functionality to control how Unleash communicates messages on your Slack workspace.
The Slack integration allows Unleash to post Updates when a feature toggle is updated. To set up Slack, you need to configure an incoming Slack webhook URL. You can follow [Sending messages using Incoming Webhooks](https://api.slack.com/incoming-webhooks) on how to do that. You can also choose to [create a slack app for Unleash](https://api.slack.com/apps), which will provide you with additional functionality to control how Unleash communicates messages on your Slack workspace.

The Slack addon will perform a single retry if the HTTP POST against the Slack Webhook URL fails (either a 50x or network error). Duplicate events may happen. You should never assume events always comes in order.
The Slack integration will perform a single retry if the HTTP POST against the Slack Webhook URL fails (either a 50x or network error). Duplicate events may happen. You should never assume events always comes in order.

## Configuration {#configuration}

Expand All @@ -33,7 +33,7 @@ You can choose to trigger updates for the following events:
#### Parameters {#parameters}

Unleash Slack addon takes the following parameters.
Unleash Slack integration takes the following parameters.

- **Slack Webhook URL** - This is the only required property. If you are using a Slack Application you must also make sure your application is allowed to post to the channel you want to post to.
- **Username** - Used to override the username used to post the update to a Slack channel.
Expand All @@ -46,7 +46,7 @@ Unleash Slack addon takes the following parameters.

#### Tags {#tags}

The Slack addon also defined the Tag type "slack". You may use this tag to override which Slack channel Unleash should post updates to for this feature toggle.
The Slack integration also defined the Tag type "slack". You may use this tag to override which Slack channel Unleash should post updates to for this feature toggle.

![Slack Tags](/img/slack_addon_tags.png)

Expand Down

0 comments on commit 1539d19

Please sign in to comment.