Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 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=[UnleashIntegration()],
)
```

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