Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/platforms/python/integrations/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ The Sentry SDK uses integrations to hook into the functionality of popular libra
| ----------------------------------------------------------------------------------------------------------------------- | :--------------: |
| <LinkWithPlatformIcon platform="python" label="LaunchDarkly" url="/platforms/python/integrations/launchdarkly" /> | |
| <LinkWithPlatformIcon platform="python" label="OpenFeature" url="/platforms/python/integrations/openfeature" /> | |
| <LinkWithPlatformIcon platform="python" label="Unleash" url="/platforms/python/integrations/unleash" /> | |

### Cloud Computing

Expand Down
74 changes: 74 additions & 0 deletions docs/platforms/python/integrations/unleash/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
title: Unleash
description: "Learn how to use Sentry with Unleash."
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

The [Unleash](https://www.getunleash.io/) integration tracks feature flag evaluations produced by the Unleash SDK. These evaluations are held in memory and sent to Sentry for review and analysis if an error occurs. **At the moment, we only support boolean flag evaluations.**

## Install

Install `sentry-sdk` (>=TODO:) and `UnleashClient` (>=6.0.1) from PyPI.

```bash
pip install --upgrade sentry-sdk UnleashClient
```

## Configure

Add `UnleashIntegration` to your `integrations` list:

```python
import sentry_sdk
import os

from sentry_sdk.integrations.unleash import UnleashIntegration
from UnleashClient import UnleashClient

unleash_client = UnleashClient(
url="<Unleash server URL>/api/", # "http://localhost:4242/api/" if you are self-hosting Unleash.
app_name="my-app", # Identifies your app in the Unleash UI.
custom_headers={
# See https://docs.getunleash.io/how-to/how-to-create-api-tokens
"Authorization": os.environ["UNLEASH_CLIENT_API_TOKEN"]
}
)

unleash_integration = UnleashIntegration(unleash_client)

sentry_sdk.init(
dsn="___PUBLIC_DSN___",
integrations=[unleash_integration],
)
```

For more information on how to use Unleash, read Unleash's [Python reference](https://docs.getunleash.io/reference/sdks/python) and [quickstart guide](https://docs.getunleash.io/quickstart).

## Verify

Test the integration by evaluating a feature flag using your Unleash SDK before capturing an exception.

```python {tabTitle: Python, using is_enabled}
import sentry_sdk

# Re-use `unleash_client` from the previous step.
test_flag_enabled = unleash_client.is_enabled("test-flag")

sentry_sdk.capture_exception(Exception("Something went wrong!"))
```

```python {tabTitle: Python, using get_variant}
import sentry_sdk

# Re-use `unleash_client` from the previous step.
test_flag_variant = unleash_client.get_variant("test-flag")
test_flag_enabled = test_flag_variant["enabled"]

sentry_sdk.capture_exception(Exception("Something went wrong!"))
```

Visit the [Sentry website](https://sentry.io/issues/) and confirm that your error
event has recorded the feature flag "test-flag", and its value is equal to `test_flag_enabled`.

<PlatformContent includePath="feature-flags/next-steps" />
Loading