diff --git a/develop-docs/application-architecture/multi-region-deployment/cross-region-replication.mdx b/develop-docs/application-architecture/multi-region-deployment/cross-region-replication.mdx index e41c4bb74ff51..f637ed039e03c 100644 --- a/develop-docs/application-architecture/multi-region-deployment/cross-region-replication.mdx +++ b/develop-docs/application-architecture/multi-region-deployment/cross-region-replication.mdx @@ -25,7 +25,7 @@ class GroupHistory(Model): ## Tombstones -Tracking the absence of a record is complicated. It is far simpler to track the presence of another object. When a cross region resource (like a user) is deleted we create and propagate a marker of what once was aka a *Tombstone*. The presence of a tombstone is used to cleanup data that was previously related now deceased record. +Tracking the absence of a record is complicated. It is far simpler to track the presence of another object. When a cross region resource (like a user) is deleted we create and propagate a marker of what once was aka a _Tombstone_. The presence of a tombstone is used to cleanup data that was previously related now deceased record. Tombstones have a few properties: @@ -60,7 +60,7 @@ sequenceDiagram In step 5 and 6 of the above diagram we reconcile the tombstone changes with the rest of the data in the region. Tombstones needs to be reconciled for each relation that the removed record had. For example, removing a user will: - Delete the user’s saved searches, dashboards, and more using the `CASCADE` action. -- Null out the user’s in alert rules, releases and more using the `SET NULL` action. +- Null out the user’s in alerts, releases and more using the `SET NULL` action. ### Tombstone Reconciliation diff --git a/develop-docs/integrations/slack/index.mdx b/develop-docs/integrations/slack/index.mdx index 5c1401f06f6b8..6cf9addb47cc3 100644 --- a/develop-docs/integrations/slack/index.mdx +++ b/develop-docs/integrations/slack/index.mdx @@ -74,24 +74,24 @@ Add the following scopes to **Bot Scopes**: Features which are not currently available for self-hosted. You can freely omit them. -| Scope | Reason | -| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `assistant:write` | Enables accessing the app as a personal Slack Agent. | -| `app_mentions:read` | Receive `app_mention` events when the bot is mentioned (e.g. @Sentry) in a message. | -| `channels:read` | List and validate public channels when configuring alert-rule destinations, and resolve channel names to IDs. | -| `channels:history` | (Optional) Allows Sentry to read messages from public channels. Sentry uses this to gather thread context for conversations with Seer Agent. | -| `chat:write` | Send and update messages, such as alerts, notifications, and responses. | -| `chat:write.customize` | Allow sending messages with a custom bot name and icon. | -| `chat:write.public` | Post notifications to public channels the bot hasn't been invited to. | -| `commands` | Power the `/sentry` slash command: `link`/`unlink` (identity), `link team`/`unlink team` (channel-to-team mapping), and `help`. | -| `groups:read` | Same as `channels:read` but for private channels. | -| `groups:history` | (Optional) Same as `channels:history` but for private channels. | -| `im:history` | Receive `message.im` events for the bot's help responses in DMs, and fetch DM thread context for Seer Agent. | -| `im:read` | Receive direct-message events and resolve DM channel metadata, enabling slash commands and messages sent directly to the bot. | -| `links:read` | Receive `link_shared` events when a user pastes a Sentry URL in Slack so the integration can generate a rich preview. | -| `links:write` | Attach rich unfurl previews (issues, explore queries, dashboard charts, metric alerts) to Sentry URLs shared in Slack. | -| `team:read` | Fetch the workspace name and icon during installation for display in the Sentry integration settings page. | -| `users:read` | Look up workspace users to validate alert-rule recipients, search by username/display name, and automatically link Sentry accounts to Slack identities by email after installation. | +| Scope | Reason | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `assistant:write` | Enables accessing the app as a personal Slack Agent. | +| `app_mentions:read` | Receive `app_mention` events when the bot is mentioned (e.g. @Sentry) in a message. | +| `channels:read` | List and validate public channels when configuring alert destinations, and resolve channel names to IDs. | +| `channels:history` | (Optional) Allows Sentry to read messages from public channels. Sentry uses this to gather thread context for conversations with Seer Agent. | +| `chat:write` | Send and update messages, such as alerts, notifications, and responses. | +| `chat:write.customize` | Allow sending messages with a custom bot name and icon. | +| `chat:write.public` | Post notifications to public channels the bot hasn't been invited to. | +| `commands` | Power the `/sentry` slash command: `link`/`unlink` (identity), `link team`/`unlink team` (channel-to-team mapping), and `help`. | +| `groups:read` | Same as `channels:read` but for private channels. | +| `groups:history` | (Optional) Same as `channels:history` but for private channels. | +| `im:history` | Receive `message.im` events for the bot's help responses in DMs, and fetch DM thread context for Seer Agent. | +| `im:read` | Receive direct-message events and resolve DM channel metadata, enabling slash commands and messages sent directly to the bot. | +| `links:read` | Receive `link_shared` events when a user pastes a Sentry URL in Slack so the integration can generate a rich preview. | +| `links:write` | Attach rich unfurl previews (issues, explore queries, dashboard charts, alerts) to Sentry URLs shared in Slack. | +| `team:read` | Fetch the workspace name and icon during installation for display in the Sentry integration settings page. | +| `users:read` | Look up workspace users to validate alert recipients, search by username/display name, and automatically link Sentry accounts to Slack identities by email after installation. | Add the following scopes to **User Scopes**: diff --git a/develop-docs/self-hosted/backup.mdx b/develop-docs/self-hosted/backup.mdx index 98228fd4a18f5..fe7f56d6db90a 100644 --- a/develop-docs/self-hosted/backup.mdx +++ b/develop-docs/self-hosted/backup.mdx @@ -32,7 +32,7 @@ Specifically, the following data is generally included in a partial JSON backup: - Organizations, their members, and their settings. - Projects, their members, and their settings. - Teams, their members, and their settings. -- Alert rules, incidents, and monitors. +- Alerts, incidents, and monitors. ### Backup @@ -66,7 +66,7 @@ which you will then need to manually remove. If you'd like more granular control over what gets backed up, and are using a `self-hosted` release greater than or equal to 23.11.1, you may use the `./sentry-admin.sh export` command instead. In -particular, this command allows you export only a certain ***scope*** of data. There are four such +particular, this command allows you export only a certain **_scope_** of data. There are four such scopes: - `User`: Exports data associated with Sentry users only, like their emails, permissions, and login @@ -101,7 +101,6 @@ Alternatively, if you are using Google Cloud Platform's [Key Management Service](https://cloud.google.com/security/products/security-key-management?hl=en) to manage keys on your behalf, you can use that service directly from the CLI instead: - ```shell # Authenticate with Google Cloud (requires the `gcloud` CLI to be installed): gcloud auth login diff --git a/develop-docs/self-hosted/troubleshooting/snuba.mdx b/develop-docs/self-hosted/troubleshooting/snuba.mdx index 20b8471719df9..73a196b3a618e 100644 --- a/develop-docs/self-hosted/troubleshooting/snuba.mdx +++ b/develop-docs/self-hosted/troubleshooting/snuba.mdx @@ -8,21 +8,21 @@ Snuba is the service that handles Sentry's search and analytics. It's separated ## What Snuba subscription consumers are responsible for -Snuba subscriptions implement Sentry's alert rules, meaning periodic queries that run on schedule and emit results back to Sentry. There are two roles per dataset (events, transactions, metrics, generic-metrics, eap-items): +Snuba subscriptions implement Sentry's alerts, meaning periodic queries that run on schedule and emit results back to Sentry. There are two roles per dataset (events, transactions, metrics, generic-metrics, eap-items): -- **Subscription scheduler** — decides *when* to run each subscribed query. It does **not** consume event data. Instead, it tails a small "clock" topic (the commit log) and emits one Kafka message per scheduled query. +- **Subscription scheduler** — decides _when_ to run each subscribed query. It does **not** consume event data. Instead, it tails a small "clock" topic (the commit log) and emits one Kafka message per scheduled query. - **Subscription executor** — picks up those scheduled queries, runs them against ClickHouse, and produces the answers to a results topic that Sentry consumes. There is also a combined `subscriptions-scheduler-executor` binary that fuses both stages in one process (this is what self-hosted typically runs for `events` / `transactions` / `metrics`). ### Which topics they consume from — and why this matters -| Role | Reads from | Writes to | Where defined | -|---|---|---|---| +| Role | Reads from | Writes to | Where defined | +| --------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------------------ | | Scheduler | `snuba-commit-log` (events) / `snuba-transactions-commit-log` / `snuba-metrics-commit-log` / `snuba-generic-metrics-*-commit-log` | `scheduled-subscriptions-` | `commit_log_topic` + `subscription_scheduled_topic` in each storage YAML | -| Executor | `scheduled-subscriptions-` | `-subscription-results` | `subscription_scheduled_topic` + `subscription_result_topic` | +| Executor | `scheduled-subscriptions-` | `-subscription-results` | `subscription_scheduled_topic` + `subscription_result_topic` | -Critically: the scheduler does not consume from `events` / `transactions` / `snuba-metrics`. It consumes the *commit log* of those topics. The commit log is written by the main ingest consumer once per commit (i.e. periodically batched), so it has dramatically lower throughput than the data topic itself. +Critically: the scheduler does not consume from `events` / `transactions` / `snuba-metrics`. It consumes the _commit log_ of those topics. The commit log is written by the main ingest consumer once per commit (i.e. periodically batched), so it has dramatically lower throughput than the data topic itself. The scheduler reads the `orig_message_ts` header from each commit-log message and uses that as a clock to decide which subscriptions are due. See `subscriptions_scheduler.py` for the design — tick consumer → tick buffer → commit-strategy step → query producer. @@ -30,18 +30,18 @@ The scheduler reads the `orig_message_ts` header from each commit-log message an This is **expected** in most healthy self-hosted deployments. Reasons, in order of likelihood: -1. **Low traffic on the source topic.** The scheduler reads the *commit log*, +1. **Low traffic on the source topic.** The scheduler reads the _commit log_, which only gets a record when the upstream events/transactions consumer flushes a batch (typically every few seconds, and only if there's data). On a quiet self-hosted instance, that's a tiny trickle. -2. **No active subscriptions.** Sentry alert rules are what create +2. **No active subscriptions.** Sentry alerts are what create subscription rows; if no alerts are configured for a dataset, the scheduler emits nothing to `scheduled-subscriptions-*`, so the executor's input topic stays empty and its committed offset never moves. End offset = last committed offset = no apparent change. 3. **GLOBAL watermark mode buffers ticks.** For most entities (transactions, metrics, eap-items, generic-metrics) `subscription_scheduler_mode: global`. - The scheduler waits until *every* partition of the source topic has + The scheduler waits until _every_ partition of the source topic has advanced past a timestamp before scheduling — so on a single-partition self-hosted topic it advances the moment a commit-log message arrives, but on a multi-partition setup with one stalled partition it can stall @@ -50,7 +50,7 @@ This is **expected** in most healthy self-hosted deployments. Reasons, in order end offset for a topic with zero recent produces; this is a UI artifact, not a consumer problem. `docker compose exec kafka kafka-consumer-groups --bootstrap-server kafka:9092 --describe --all-groups` will show the real `LOG-END-OFFSET`. -5. **At-least-once commit policy.** The scheduler only commits the *earliest* +5. **At-least-once commit policy.** The scheduler only commits the _earliest_ commit-log offset whose tick has been fully scheduled and produced. It deliberately holds the committed offset back relative to the read position; small static lag is normal. @@ -63,7 +63,7 @@ This is **expected** in most healthy self-hosted deployments. Reasons, in order range. Zero movement is fine **if** the source dataset isn't currently ingesting. - **Executor:** committed offset on `scheduled-subscriptions-` - advances every time an alert fires. With *no* configured Sentry alerts for + advances every time an alert fires. With _no_ configured Sentry alerts for that dataset, expect the offset to never move — that's not a bug, there's literally no work. - **Result topic:** `-subscription-results` should receive one @@ -82,12 +82,12 @@ Quick sanity checks from the host: ### Differences vs. the events / regular Snuba consumers -| | Ingest consumer (e.g. errors, transactions) | Subscription scheduler | Subscription executor | -|---|---|---|---| -| Source topic | High-volume data topic (`events`, `transactions`, `snuba-items`…) | Low-volume **commit log** of that data topic | Internal `scheduled-subscriptions-*` topic | -| Driven by | Event throughput from Sentry/Relay | Commit cadence of the ingest consumer + configured alert rules | Existence of configured alert rules | -| What it writes | ClickHouse INSERTs + commit-log entry | Scheduled-query Kafka messages | Query results to Kafka + ClickHouse SELECTs | -| Expected lag pattern | Continuous offset advance under normal load | Periodic, batched advance — long flat stretches between commits are normal | Static if no alerts are configured; otherwise advances per alert tick | -| If offset is static | Likely a problem (ingestion stalled) | Probably fine (no upstream commits or no alerts) | Probably fine (no Sentry alert rules for this dataset) | +| | Ingest consumer (e.g. errors, transactions) | Subscription scheduler | Subscription executor | +| -------------------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| Source topic | High-volume data topic (`events`, `transactions`, `snuba-items`…) | Low-volume **commit log** of that data topic | Internal `scheduled-subscriptions-*` topic | +| Driven by | Event throughput from Sentry/Relay | Commit cadence of the ingest consumer + configured alerts | Existence of configured alerts | +| What it writes | ClickHouse INSERTs + commit-log entry | Scheduled-query Kafka messages | Query results to Kafka + ClickHouse SELECTs | +| Expected lag pattern | Continuous offset advance under normal load | Periodic, batched advance — long flat stretches between commits are normal | Static if no alerts are configured; otherwise advances per alert tick | +| If offset is static | Likely a problem (ingestion stalled) | Probably fine (no upstream commits or no alerts) | Probably fine (no Sentry alerts for this dataset) | -The headline point: **a static offset on a subscription consumer is only a problem if the corresponding feature in Sentry is broken.** Verify by checking whether (a) ingestion is working and (b) any alert rules exist for the dataset — not by staring at offsets in isolation. +The headline point: **a static offset on a subscription consumer is only a problem if the corresponding feature in Sentry is broken.** Verify by checking whether (a) ingestion is working and (b) any alerts exist for the dataset — not by staring at offsets in isolation. diff --git a/docs/account/user-settings/index.mdx b/docs/account/user-settings/index.mdx index 096b827b59912..56ef7a493dac3 100644 --- a/docs/account/user-settings/index.mdx +++ b/docs/account/user-settings/index.mdx @@ -27,7 +27,7 @@ Clicking "Sign out of all devices" will end your sessions with any device logged In **Notifications**, you can configure your personal settings for the following Sentry notifications: -- Alerts (issue alerts only) +- Alerts - Deploy - Workflow - Weekly Reports diff --git a/docs/concepts/key-terms/enrich-data/index.mdx b/docs/concepts/key-terms/enrich-data/index.mdx index 4b8b95f665d36..30d9b3e881ec8 100644 --- a/docs/concepts/key-terms/enrich-data/index.mdx +++ b/docs/concepts/key-terms/enrich-data/index.mdx @@ -19,7 +19,6 @@ The SDK allows you to set various types of data that are then attached to every 1. **Unstructured Data** - Includes additional data like `Breadcrumbs`, `Extra data`, and `Custom Contexts`. While these fields are **unsearchable**, they enrich your events with information that will help you debug and resolve the associated issues. 2. **Structured Data** - Key/value pairs that are **indexed and searchable**, allowing you to search, filter, and query **through all your events** across projects, in addition to helping you debug specific issues. These include: - - `Custom Tags` - A way to reflect key characteristics that apply to your applications, dev process, or business in your error data. These might include variants and flavors of your app, a user type, tenant ID, payment plan, and so on. - `Release` and `Environment` - Predefined data fields available as SDK configuration options. - `User Context` - Comprised of a set of predefined data fields. Setting any one of those (when applicable) allows Sentry to construct a user identity and define user uniqueness. @@ -28,22 +27,22 @@ The SDK allows you to set various types of data that are then attached to every Adding custom **structured data** that is unique to your applications, users, and business logic enriches your data and provides valuable context to every event. You can also use that same data to customize Sentry workflows and adapt them to your precise needs. Let's look at those major workflows: -### Alert Rules +### Alerts -Targeted alerts are key to focusing attention when your app breaks and notifying exactly the people who can fix it. The more data you add to your events, the more flexibility you gain to create pinpointed alerts. The following data types can be incorporated in your alert rules by adding the relevant conditions to trigger the alert: +Targeted alerts are key to focusing attention when your app breaks and notifying exactly the people who can fix it. The more data you add to your events, the more flexibility you gain to create pinpointed alerts. The following data types can be incorporated in your alerts by adding the relevant conditions to trigger the alert: - **User Context**: Once a certain issue has impacted a defined threshold of unique users. - **Custom Tags**: When events contain custom tag values that match your defined values. - **Environment**: When events are occurring in a specific environment. -These can all come in handy in both issue and metric alerts. For instance: +These can all come in handy in alerts. For example: -1. **Issue Alerts**: The following rule will trigger a Slack message when a **certain issue** with level _error or fatal_, originating from my _EMEA_ releases in my _prod_ environment, impacts more than _50 enterprise_ end-users in _one hour_: - ![Issue alert configuration for the example rule.](./img/002.png) +- The following alert will trigger a Slack message when a **certain issue** with level _error or fatal_, originating from my _EMEA_ releases in my _prod_ environment, impacts more than _50 enterprise_ end-users in _one hour_: + ![Alert configuration for the example alert.](./img/002.png) -2. **Metric Alerts**: The following rule will trigger a Slack message if more than _50 enterprise_ end-users in _one hour_ are impacted by _warning_ level errors (**from multiple issues**) originating from my _EMEA_ releases in my _prod_ environment: +- The following alert will trigger a Slack message if more than _50 enterprise_ end-users in _one hour_ are impacted by _warning_ level errors (**from multiple issues**) originating from my _EMEA_ releases in my _prod_ environment: - ![Metric alert configuration for the example rule](./img/006.png) + ![Alert configuration for the example alert](./img/006.png) Learn more in [Alerts](/product/monitors-and-alerts/alerts/). diff --git a/docs/concepts/key-terms/key-terms.mdx b/docs/concepts/key-terms/key-terms.mdx index ff413dfeac8d2..9743fa8918d45 100644 --- a/docs/concepts/key-terms/key-terms.mdx +++ b/docs/concepts/key-terms/key-terms.mdx @@ -8,7 +8,7 @@ Some of the below terms have corresponding features with the same name (in upper ## Key Terms -- **alerts** - Alerts let you know about problems with your code in real-time by sending you notifications when certain alert rule conditions are met. There are several types of alerts available with customizable thresholds and integrations. +- **alerts** - Alerts let you know about problems with your code in real-time by sending you notifications when certain alert conditions are met. There are several types of alerts available with customizable thresholds and integrations. - **attachments** - Stored additional files, such as config or log files that are related to an error event. @@ -58,7 +58,7 @@ Each of these key features have their own page (or set of pages) in the [sentry. - **Pre-built Sentry Dashboards** - Sentry surfaces insights that can help you identify opportunities at the service-level to improve various parts of your app's performance, including requests, assets, caches, queues, and more. Pre-built Sentry Dashboards living under the Dashboards heading provide an overview of how your project is performing in various categories, as well as the ability to review sample events and their traces to help you diagnose potential problems. Learn more in the full [Sentry Dashboards documentation](/product/dashboards/sentry-dashboards/). -- **Alerts** - Where you can create new alert rules and manage existing ones. Learn more in the full [Alerts documentation](/product/monitors-and-alerts/alerts/). +- **Alerts** - Where you can create new alerts and manage existing ones. Learn more in the full [Alerts documentation](/product/monitors-and-alerts/alerts/). - **Dashboards** - Provide you with a broad overview of your application's health by allowing you to navigate through error and performance data across multiple projects. Dashboards are made up of one or more widgets, and each widget visualizes one or more **Discover** or **Issues** queries. Learn more in the full [Dashboards documentation](/product/dashboards/). diff --git a/docs/concepts/migration/index.mdx b/docs/concepts/migration/index.mdx index b944106597c36..ccb680876a186 100644 --- a/docs/concepts/migration/index.mdx +++ b/docs/concepts/migration/index.mdx @@ -10,7 +10,14 @@ og_image: /og-images/concepts-migration.png Sentry offers a cloud-hosted, software-as-a-service (SaaS) solution in addition to a self-hosted solution, which are both functionally the same. However, many customers find that self-hosted Sentry can quickly become expensive to maintain, scale, and support, making our SaaS product the better and less costly option. To facilitate moving from self-hosted to SaaS, we provide a self-serve process known as "relocation". -Check out this video on **Migrating to Sentry SaaS** to learn about our relocation tooling. + Check out this video on{" "} + + **Migrating to Sentry SaaS** + {" "} + to learn about our relocation tooling. For additional reading on considering SaaS, take a look at: @@ -33,7 +40,7 @@ All of the configurations, team and project structure, and most metadata will be - User accounts and options for all organization members - Projects and their settings - Teams and their settings -- Alert rules +- Alerts - Crons - Dashboards - Enabled data scrubbers @@ -46,7 +53,7 @@ Any data related to specific issues, events, stack traces, or files like replays Below is a non-exhaustive list of some items that will not be relocated: -- Integrations, including parts of relocated items that depend on them (ex: if an Alert Rule triggers Slack notifications, that trigger will be omitted) +- Integrations, including parts of relocated items that depend on them (ex: if an alert triggers Slack notifications, that trigger will be omitted) - Webhooks - Issues - Events diff --git a/docs/concepts/search/searchable-properties/events.mdx b/docs/concepts/search/searchable-properties/events.mdx index 2dcd4e0840b78..2e84208707dfe 100644 --- a/docs/concepts/search/searchable-properties/events.mdx +++ b/docs/concepts/search/searchable-properties/events.mdx @@ -12,7 +12,7 @@ You can search by event properties in the following [sentry.io](https://sentry.i - Dashboards - within the widget builder (depending on dataset selection) - Performance - only in transaction summaries - Issues - as indicated in the list below -- Alerts - when creating a metric alert +- Alerts - when creating an alert diff --git a/docs/guides/metrics.mdx b/docs/guides/metrics.mdx index 0b5378e16b43b..8f422b89569b3 100644 --- a/docs/guides/metrics.mdx +++ b/docs/guides/metrics.mdx @@ -4,7 +4,7 @@ sidebar_order: 15 description: "Practical guidance on what metrics to track, how to explore them, and when to set alerts." --- -You've set up [Sentry Metrics](/product/metrics/). Now what? +You've set up [Sentry Metrics](/product/metrics/). Now what? This guide covers the high-value metric patterns that give you visibility into application health and how to drill into traces when something looks off. @@ -606,13 +606,11 @@ Sentry.metrics().distribution("upload.size", fileSizeBytes.toDouble(), ## Alerts and Dashboard Widgets - - Alerts and dashboard widgets for Metrics are coming soon. - +Alerts and dashboard widgets for Metrics are coming soon. You'll soon be able to: -- Create alert rules based on metric queries +- Create alerts based on metric queries - Add metric visualizations to dashboards - Set up notifications when metrics cross thresholds - Save common queries for quick access @@ -637,4 +635,4 @@ You'll soon be able to: All three are trace-connected. Start wherever makes sense and navigate to the others. -Explore the [Application Metrics product walkthrough](/product/metrics/) to learn more about the Sentry interface and discover additional tips. \ No newline at end of file +Explore the [Application Metrics product walkthrough](/product/metrics/) to learn more about the Sentry interface and discover additional tips. diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index 7f95974955783..a8905a58df8d9 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -17,59 +17,59 @@ For more details, see the [full Integration Platform documentation](/integration ## Notification & Incidents -| Integration | Issue alerts | Metric alerts | Link Unfurling | -| ------------------------------------------------------------------------ | ------------ | ------------- | -------------- | -| [All Quiet](https://docs.allquiet.app/integrations/inbound/sentry) | X | | | -| [Blar](/integrations/notification-incidents/blar/) | X | | | -| [Cased](/integrations/notification-incidents/cased/) | X | | | -| [Datadog](https://docs.datadoghq.com/integrations/sentry/) | X | | | -| [Glue.ai](/integrations/notification-incidents/glueai/) | | X | | -| [Microsoft Teams](/integrations/notification-incidents/msteams/) | X | X | | -| [Opsgenie](/integrations/notification-incidents/opsgenie/) | X | X | | -| [PagerDuty](/integrations/notification-incidents/pagerduty/) | X | X | | -| [PagerTree](/integrations/notification-incidents/pagertree/) | X | X | | -| [Rootly](/integrations/notification-incidents/rootly/) | X | X | | -| [SIGNL4](/integrations/notification-incidents/signl4/) | X | X | | -| [Slack](/integrations/notification-incidents/slack/) | X | X | X | -| [Discord](/integrations/notification-incidents/discord/) | X | X | | -| [Spike.sh](/integrations/notification-incidents/spikesh/) | X | X | | -| [Telegram](/integrations/notification-incidents/telegram-alerts-bot/) | X | X | | +| Integration | Alerts | Link Unfurling | +| --------------------------------------------------------------------- | ------ | -------------- | +| [All Quiet](https://docs.allquiet.app/integrations/inbound/sentry) | X | | +| [Blar](/integrations/notification-incidents/blar/) | X | | +| [Cased](/integrations/notification-incidents/cased/) | X | | +| [Datadog](https://docs.datadoghq.com/integrations/sentry/) | X | | +| [Glue.ai](/integrations/notification-incidents/glueai/) | X | | +| [Microsoft Teams](/integrations/notification-incidents/msteams/) | X | | +| [Opsgenie](/integrations/notification-incidents/opsgenie/) | X | | +| [PagerDuty](/integrations/notification-incidents/pagerduty/) | X | | +| [PagerTree](/integrations/notification-incidents/pagertree/) | X | | +| [Rootly](/integrations/notification-incidents/rootly/) | X | | +| [SIGNL4](/integrations/notification-incidents/signl4/) | X | | +| [Slack](/integrations/notification-incidents/slack/) | X | X | +| [Discord](/integrations/notification-incidents/discord/) | X | | +| [Spike.sh](/integrations/notification-incidents/spikesh/) | X | | +| [Telegram](/integrations/notification-incidents/telegram-alerts-bot/) | X | | ## Source Code Management -| Integration | Commit Tracking | Resolve via Commit/PR | Suspect Commits | -| -------------------------------------------------------------------- | --------------- | --------------------- | --------------- | -| [Azure DevOps](/integrations/source-code-mgmt/azure-devops/) | X | X | | -| [Bitbucket](/integrations/source-code-mgmt/bitbucket/) | X | X | | -| [Continue](/integrations/source-code-mgmt/continuedev/) | | X | | -| [GitHub/GitHub Enterprise](/integrations/source-code-mgmt/github/) | X | X | X | -| [GitLab](/integrations/source-code-mgmt/gitlab/) | X | X | X | -| [Perforce](/integrations/source-code-mgmt/perforce/) (Beta) | X | | X | +| Integration | Commit Tracking | Resolve via Commit/PR | Suspect Commits | +| ------------------------------------------------------------------ | --------------- | --------------------- | --------------- | +| [Azure DevOps](/integrations/source-code-mgmt/azure-devops/) | X | X | | +| [Bitbucket](/integrations/source-code-mgmt/bitbucket/) | X | X | | +| [Continue](/integrations/source-code-mgmt/continuedev/) | | X | | +| [GitHub/GitHub Enterprise](/integrations/source-code-mgmt/github/) | X | X | X | +| [GitLab](/integrations/source-code-mgmt/gitlab/) | X | X | X | +| [Perforce](/integrations/source-code-mgmt/perforce/) (Beta) | X | | X | ## Issue Tracking -| Integration | Issue Creation/Linking | Automatic Issue Creation | Issue Sync | Seer | -| --------------------------------------------------------------------------------- | ---------------------- | ------------------------ | ---------- | ---- | -| [Azure DevOps (Work Items)](/integrations/source-code-mgmt/azure-devops/) | X | X | X | | -| [Bitbucket (Issues)](/integrations/source-code-mgmt/bitbucket/) | X | | | | -| [Bug Sniff](/integrations/issue-tracking/bugsniff/) | | X | X | | -| [ClickUp](/integrations/issue-tracking/clickup/) | X | | | | -| [Factory](/integrations/issue-tracking/factory/) | X | | | | -| [GitHub (Issues)](/integrations/source-code-mgmt/github/) | X | | | | -| [GitLab (Issues)](/integrations/source-code-mgmt/gitlab/) | X | | | | -| [Goast.ai](/integrations/issue-tracking/goast/) | X | | | | -| [Height](/integrations/issue-tracking/height/) | X | X | X | | -| [Incident.io](/integrations/issue-tracking/incidentio/) | X | | X | | -| [Jira/Jira Server](/integrations/issue-tracking/jira/) | X | X\* | X | | -| [Kitemaker](/integrations/issue-tracking/kitemaker/) | X | | X | | -| [Linear](/integrations/issue-tracking/linear/) | X | X | | | -| [Linear (Sentry Agent)](/integrations/issue-tracking/sentry-linear-agent/)| | | | X | -| [Makeplane](/integrations/issue-tracking/makeplane/) | X | X | X | | -| [Shortcut](/integrations/issue-tracking/shortcut/) | X | | | | -| [Sourcegraph](/integrations/issue-tracking/sourcegraph/) | X | | | | -| [StarSling](/integrations/issue-tracking/starsling/) | | X | | | -| [Teamcamp](/integrations/issue-tracking/teamcamp/) | X | | | | -| [Teamwork](/integrations/issue-tracking/teamwork/) | X | | | | +| Integration | Issue Creation/Linking | Automatic Issue Creation | Issue Sync | Seer | +| -------------------------------------------------------------------------- | ---------------------- | ------------------------ | ---------- | ---- | +| [Azure DevOps (Work Items)](/integrations/source-code-mgmt/azure-devops/) | X | X | X | | +| [Bitbucket (Issues)](/integrations/source-code-mgmt/bitbucket/) | X | | | | +| [Bug Sniff](/integrations/issue-tracking/bugsniff/) | | X | X | | +| [ClickUp](/integrations/issue-tracking/clickup/) | X | | | | +| [Factory](/integrations/issue-tracking/factory/) | X | | | | +| [GitHub (Issues)](/integrations/source-code-mgmt/github/) | X | | | | +| [GitLab (Issues)](/integrations/source-code-mgmt/gitlab/) | X | | | | +| [Goast.ai](/integrations/issue-tracking/goast/) | X | | | | +| [Height](/integrations/issue-tracking/height/) | X | X | X | | +| [Incident.io](/integrations/issue-tracking/incidentio/) | X | | X | | +| [Jira/Jira Server](/integrations/issue-tracking/jira/) | X | X\* | X | | +| [Kitemaker](/integrations/issue-tracking/kitemaker/) | X | | X | | +| [Linear](/integrations/issue-tracking/linear/) | X | X | | | +| [Linear (Sentry Agent)](/integrations/issue-tracking/sentry-linear-agent/) | | | | X | +| [Makeplane](/integrations/issue-tracking/makeplane/) | X | X | X | | +| [Shortcut](/integrations/issue-tracking/shortcut/) | X | | | | +| [Sourcegraph](/integrations/issue-tracking/sourcegraph/) | X | | | | +| [StarSling](/integrations/issue-tracking/starsling/) | | X | | | +| [Teamcamp](/integrations/issue-tracking/teamcamp/) | X | | | | +| [Teamwork](/integrations/issue-tracking/teamwork/) | X | | | | \* Jira Server not supported @@ -80,21 +80,21 @@ For more details, see the [full Integration Platform documentation](/integration | [Bitbucket Pipelines](/product/releases/setup/release-automation/bitbucket-pipelines/) | X | X | X | X | | [GitHub Actions](/product/releases/setup/release-automation/github-actions/) | X | X | X | X | | [Netlify](/product/releases/setup/release-automation/netlify/) | X | X | X | X | -| [Vercel](/integrations/deployment/vercel/) | X | X | X | X | +| [Vercel](/integrations/deployment/vercel/) | X | X | X | X | ## Data Forwarding -| Integration | Data Forwarding | -| ------------------------------------------------------------------ | --------------- | -| [Amazon SQS](/integrations/data-forwarding/amazon-sqs/) | X | -| [Segment](/integrations/data-forwarding/segment/) | X | -| [Splunk](/integrations/data-forwarding/splunk/) | X | -| [Grafana (Third Party)](/integrations/data-forwarding/grafana/) | X | +| Integration | Data Forwarding | +| --------------------------------------------------------------- | --------------- | +| [Amazon SQS](/integrations/data-forwarding/amazon-sqs/) | X | +| [Segment](/integrations/data-forwarding/segment/) | X | +| [Splunk](/integrations/data-forwarding/splunk/) | X | +| [Grafana (Third Party)](/integrations/data-forwarding/grafana/) | X | ## Session Replay -| Integration | Link Issue to user sessions | -| -------------------------------------------------------------- | --------------------------- | +| Integration | Link Issue to user sessions | +| ------------------------------------------------------ | --------------------------- | | [Atlas](/integrations/session-replay/atlas/) | X | | [BetterBugs](/integrations/session-replay/betterbugs) | X | | [FullStory](/integrations/session-replay/fullstory/) | X | @@ -103,64 +103,61 @@ For more details, see the [full Integration Platform documentation](/integration ## Coding Agents -| Integration | Seer Integration | -| --------------------------------------------------- | ---------------- | +| Integration | Seer Integration | +| --------------------------------------------------------- | ---------------- | | [Claude Code](/integrations/coding-agents/claude/) | X | | [Cursor Cloud Agent](/integrations/coding-agents/cursor/) | X | ## Debugging -| Integration | Stacktrace Link | -| --------------------------------------------------- | --------------- | -| [Apigene](/integrations/debugging/apigene/) | | -| [CodeComet](/integrations/debugging/codecomet/) | | -| [Foam](/integrations/debugging/foamai/) | | -| [Logicstar](/integrations/debugging/logicstar/) | | -| [Corelayer](/integrations/debugging/corelayer/) | | -| [Rookout](/integrations/debugging/rookout/) | X | -| [Sourcery](/integrations/debugging/sourcery/) | | -| [Tembo](/integrations/debugging/tembo/) | | - - - +| Integration | Stacktrace Link | +| ----------------------------------------------- | --------------- | +| [Apigene](/integrations/debugging/apigene/) | | +| [CodeComet](/integrations/debugging/codecomet/) | | +| [Foam](/integrations/debugging/foamai/) | | +| [Logicstar](/integrations/debugging/logicstar/) | | +| [Corelayer](/integrations/debugging/corelayer/) | | +| [Rookout](/integrations/debugging/rookout/) | X | +| [Sourcery](/integrations/debugging/sourcery/) | | +| [Tembo](/integrations/debugging/tembo/) | | ## Feature Flag -| Integration | Tie errors to feature flags | -| ---------------------------------------------------------------- | --------------------------- | -| [Keyflow](/integrations/feature-flag/keyflow/) | | +| Integration | Tie errors to feature flags | +| -------------------------------------------------------- | --------------------------- | +| [Keyflow](/integrations/feature-flag/keyflow/) | | | [Split](/integrations/feature-flag/split/) | X | | [LaunchDarkly](/integrations/feature-flag/launchdarkly/) | X | ## Compliance -| Integration | API | -| ------------------------------------------------ | --- | +| Integration | API | +| -------------------------------------------------- | --- | | [Cloudeagle](/integrations/compliance/cloudeagle/) | X | -| [Elba](/integrations/compliance/elba/) | X | -| [Truto](/integrations/compliance/truto/) | X | -| [Vanta](/integrations/compliance/vanta/) | X | -| [Vanta EU](/integrations/compliance/vanta-eu/) | X | +| [Elba](/integrations/compliance/elba/) | X | +| [Truto](/integrations/compliance/truto/) | X | +| [Vanta](/integrations/compliance/vanta/) | X | +| [Vanta EU](/integrations/compliance/vanta-eu/) | X | ## Cloud Monitoring -| Integration | Error Reporting | Performance (Transactions) | -| ------------------------------------------------------------------------------------- | --------------- | -------------------------- | -| [Cloudflare Workers](/integrations/cloud-monitoring/cloudflare-workers/) | X | X | -| [Google Cloud Run](/integrations/cloud-monitoring/gcp-cloud-run/) | X | X | -| [Google Cloud Functions - Python](/platforms/python/integrations/gcp-functions/) | X | X | -| [Google Cloud Functions - Node](/platforms/javascript/guides/gcp-functions/) | X | X | -| [AWS Lambda - Python (Automatic)](/integrations/cloud-monitoring/aws-lambda/) | X | X | -| [AWS Lambda - Python (Manual)](/platforms/python/integrations/aws-lambda/) | X | X | -| [AWS Lambda - Node (Automatic)](/integrations/cloud-monitoring/aws-lambda/) | X | X | -| [AWS Lambda - Node (Manual)](/platforms/javascript/guides/aws-lambda/) | X | X | - +| Integration | Error Reporting | Performance (Transactions) | +| -------------------------------------------------------------------------------- | --------------- | -------------------------- | +| [Cloudflare Workers](/integrations/cloud-monitoring/cloudflare-workers/) | X | X | +| [Google Cloud Run](/integrations/cloud-monitoring/gcp-cloud-run/) | X | X | +| [Google Cloud Functions - Python](/platforms/python/integrations/gcp-functions/) | X | X | +| [Google Cloud Functions - Node](/platforms/javascript/guides/gcp-functions/) | X | X | +| [AWS Lambda - Python (Automatic)](/integrations/cloud-monitoring/aws-lambda/) | X | X | +| [AWS Lambda - Python (Manual)](/platforms/python/integrations/aws-lambda/) | X | X | +| [AWS Lambda - Node (Automatic)](/integrations/cloud-monitoring/aws-lambda/) | X | X | +| [AWS Lambda - Node (Manual)](/platforms/javascript/guides/aws-lambda/) | X | X | ## Third-Party Integrations Integrations built and maintained by third-party developers on the Sentry Integration Platform. See the [full list of third-party integrations](/integrations/third-party-integrations/). ## Toggleable Features + Some integrations have features that can be enabled or disabled through a toggle at the integration level. Toggling features on/off takes effect instantly across the integration. Defaults are dependent on the feature, per integration. Not every integration has toggleable features, but if they do, you can find them in the `Features` tab for the specific integration's settings. diff --git a/docs/integrations/integration-platform/index.mdx b/docs/integrations/integration-platform/index.mdx index e8dbf1e6e8e38..fc532891c058e 100644 --- a/docs/integrations/integration-platform/index.mdx +++ b/docs/integrations/integration-platform/index.mdx @@ -29,7 +29,7 @@ There are several configuration options for your integration, which are describe Webhooks allow your service to get requests about specific resources, depending on your selection. For more information, check out the [full Webhooks documentation](/integrations/integration-platform/webhooks/). -In order to receive webhook events, you must specify the webhook URL when creating an integration. After you've specified the webhook URL, you'll be able to toggle on "Alert Rule Action" and create issue and metric alerts that send notifications to your integration. +In order to receive webhook events, you must specify the webhook URL when creating an integration. After you've specified the webhook URL, you'll be able to toggle on "Alert Action" and create alerts that send notifications to your integration. ## UI Components @@ -37,12 +37,14 @@ The Sentry integration platform provides the ability to add rich UI components t ## Alerts -You can make any integration available as an action in [issue alerts](/integrations/integration-platform/webhooks/issue-alerts) and [metric alerts](/integrations/integration-platform/webhooks/metric-alerts) by enabling the "Alert Rule Action" toggle. The integration will then show -up as a service in the action section when creating or updating an alert rule. The interactive demo below shows how to set up an integration that can receive Sentry alerts. +You can make any integration available as an action in alerts by enabling the "Alert Action" toggle. The integration will then show +up as a service in the action section when creating or updating an alert. The interactive demo below shows how to set up an integration that can receive Sentry alerts. -For your service to receive webhooks for alert rules, you must have `Send a notification via ` as an action in the rule. Once that's set up, you'll start receiving webhook requests for triggered alerts. For more information about the request and payload, check out the [full Webhooks documentation](/integrations/integration-platform/webhooks/). If you'd like users to provide more app-specific information to handle these webhooks (e.g. assignees, teams, notification channels), consider implementing the [alert rule action UI component](/integrations/integration-platform/ui-components/alert-rule-action). +For your service to receive webhooks for alerts, you must have `Send a notification via ` as an action. Once that's set up, you'll start receiving webhook requests for triggered alerts. For more information about the request and payload, check out the [full Webhooks documentation](/integrations/integration-platform/webhooks/). + +If you'd like users to provide more app-specific information to handle these webhooks (e.g. assignees, teams, notification channels), consider implementing the [alert action UI component](/integrations/integration-platform/ui-components/alert-action). ## Permissions diff --git a/docs/integrations/integration-platform/ui-components/alert-rule-action.mdx b/docs/integrations/integration-platform/ui-components/alert-action.mdx similarity index 54% rename from docs/integrations/integration-platform/ui-components/alert-rule-action.mdx rename to docs/integrations/integration-platform/ui-components/alert-action.mdx index bd5492f2bd0c9..3e5b593505096 100644 --- a/docs/integrations/integration-platform/ui-components/alert-rule-action.mdx +++ b/docs/integrations/integration-platform/ui-components/alert-action.mdx @@ -1,16 +1,20 @@ --- -title: Alert Rule Action +title: Alert Action sidebar_order: 2 -description: Learn about the alert rule action UI component. +description: Learn about the alert action UI component. og_image: >- /og-images/organization-integrations-integration-platform-ui-components-alert-rule-action.png --- -The alert rule action component gives you to access to parameters to define routing or configuration in alert rules for your service. When alert rules are triggered for a user, the configured service will receive [issue alert](/integrations/integration-platform/webhooks/issue-alerts) and [metric alert](/integrations/integration-platform/webhooks/metric-alerts) webhook events, with the specified settings for that service, to further route the alert. +An alert action component allows users to specify details specific to your service that can help route alerts when they're triggered in Sentry. The schema is defined on the integration details page, and when users set up an alert action with your integration, the associated UI components will be presented to them. The details they provide will be included in the following alert webhook payloads, when the alerts fire: -![Example of an alert rule UI component.](./img/alert-rule-component-action-example.png) +- [Issue Alert](/integrations/integration-platform/webhooks/issue-alerts) +- [Metric Alert](/integrations/integration-platform/webhooks/metric-alerts) +- [Activity Alert](/integrations/integration-platform/webhooks/activity-alerts) -![Example of an alert rule settings modal.](./img/alert-rule-component-modal-example.png) +![Example of an alert UI component.](./img/alert-component-action-example.png) + +![Example of an alert settings modal.](./img/alert-component-modal-example.png) ## Schema @@ -47,22 +51,31 @@ The alert rule action component gives you to access to parameters to define rout "elements": [ { "type": "alert-rule-action", - "title": "Create a Rekall Inc task", + "title": "Create a kanban item for MyApp", "settings": { "type": "alert-rule-settings", - "uri": "/sentry/alert-rule", + "uri": "/sentry/alert-action", "required_fields": [ { "type": "select", - "label": "Project", - "name": "project", - "options": [["1", "cornflakes"]] + "label": "Ticket Type", + "name": "ticket_type", + "options": [ + ["feat", "Feature"], + ["bug", "Bug"], + ["task", "Task"] + ] + }, + { + "name": "runbook", + "type": "text", + "label": "Runbook" }, { "type": "select", "label": "Assignee", "name": "assignee", - "uri": "/sentry/alert-rule/options/users/" + "uri": "/sentry/alert-action/options/teams/" } ] } @@ -84,13 +97,17 @@ When an issue alert fires, your service will need to read the settings from the ... "settings": [ { - "name": "title", - "value": "Ticket Title" + "name": "ticket_type", + "value": "feat" }, { - "name": "description", - "value": "Ticket Description" - } + "name": "runbook", + "value": "Follow up in #triage-feature-requests with sales if this is actionable." + }, + { + "name": "assignee", + "value": "team:789" + }, ] } } @@ -119,13 +136,17 @@ When a metric alert fires, your service will need to read the settings from the ... "settings": [ { - "name": "title", - "value": "Critical Trigger" + "name": "ticket_type", + "value": "bug" + }, + { + "name": "runbook", + "value": "Check the docs (https://example.com/runbook/456) before picking this one up." }, { - "name": "description", - "value": "Critical Description" - } + "name": "assignee", + "value": "team:123" + }, ] } ] @@ -137,4 +158,34 @@ When a metric alert fires, your service will need to read the settings from the } ``` +## Activity Alert Request Format + +When an activity alert fires, your service will need to read the settings from the alert payload. The `settings` are in `data.alert.settings`. Check out the full [Activity Alert webhook documentation](/integrations/integration-platform/webhooks/activity-alerts) for more information. + +```json +{ + ... + "data": { + ... + "alert": { + ... + "settings": [ + { + "name": "ticket_type", + "value": "task" + }, + { + "name": "runbook", + "value": "Check if this issue is related to mobile exclusively." + }, + { + "name": "assignee", + "value": "team:456" + }, + ] + } + } +} +``` + diff --git a/docs/integrations/integration-platform/ui-components/formfield.mdx b/docs/integrations/integration-platform/ui-components/formfield.mdx index 31c01395b0ef2..c4d8a275d1580 100644 --- a/docs/integrations/integration-platform/ui-components/formfield.mdx +++ b/docs/integrations/integration-platform/ui-components/formfield.mdx @@ -4,7 +4,7 @@ sidebar_order: 4 description: "Learn about FormField components." --- -The [issue linking](/integrations/integration-platform/ui-components/issue-link) and [alert rule action](/integrations/integration-platform/ui-components/alert-rule-action) UI components can use `FormField` components to display attributes in their respective modals. These components can render custom forms with inputs specified according to the schemes below. They behave similarly to their HTML equivalents. +The [issue linking](/integrations/integration-platform/ui-components/issue-link) and [alert action](/integrations/integration-platform/ui-components/alert-action) UI components can use `FormField` components to display attributes in their respective modals. These components can render custom forms with inputs specified according to the schemes below. They behave similarly to their HTML equivalents. ## Text diff --git a/docs/integrations/integration-platform/ui-components/img/alert-rule-component-action-example.png b/docs/integrations/integration-platform/ui-components/img/alert-component-action-example.png similarity index 100% rename from docs/integrations/integration-platform/ui-components/img/alert-rule-component-action-example.png rename to docs/integrations/integration-platform/ui-components/img/alert-component-action-example.png diff --git a/docs/integrations/integration-platform/ui-components/img/alert-rule-component-modal-example.png b/docs/integrations/integration-platform/ui-components/img/alert-component-modal-example.png similarity index 100% rename from docs/integrations/integration-platform/ui-components/img/alert-rule-component-modal-example.png rename to docs/integrations/integration-platform/ui-components/img/alert-component-modal-example.png diff --git a/docs/integrations/integration-platform/ui-components/index.mdx b/docs/integrations/integration-platform/ui-components/index.mdx index f687dd2e09010..0d5c91925eedb 100644 --- a/docs/integrations/integration-platform/ui-components/index.mdx +++ b/docs/integrations/integration-platform/ui-components/index.mdx @@ -15,7 +15,7 @@ The Sentry integration platform provides developers with the ability to define c You can define the following components: - [Issue Link](/integrations/integration-platform/ui-components/issue-link) (uses [FormField](/integrations/integration-platform/ui-components/formfield) components) -- [Alert Rule Actions](/integrations/integration-platform/ui-components/alert-rule-action) (uses [FormField](/integrations/integration-platform/ui-components/formfield) components) +- [Alert Action](/integrations/integration-platform/ui-components/alert-action) (uses [FormField](/integrations/integration-platform/ui-components/formfield) components) - [Stack Trace Link](/integrations/integration-platform/ui-components/stacktrace-link) ## Schema diff --git a/docs/integrations/integration-platform/webhooks/activity-alerts.mdx b/docs/integrations/integration-platform/webhooks/activity-alerts.mdx index 58a8f3a22d4f9..a932022424511 100644 --- a/docs/integrations/integration-platform/webhooks/activity-alerts.mdx +++ b/docs/integrations/integration-platform/webhooks/activity-alerts.mdx @@ -10,7 +10,7 @@ description: "When alerts are set to trigger based on issue activity, these are available. -Sentry integrations which have been made available as [alert rule actions](/integrations/integration-platform/#alerts) can receive these activity alert webhooks. +Sentry integrations which have been made available as [alert actions](/integrations/integration-platform/#alerts) can receive these activity alert webhooks. The interactive demo below shows how to set up an internal integration that can receive alerts. @@ -30,7 +30,7 @@ The interactive demo below shows how to set up an internal integration that can ### data['issue'] - type: object -- description: the serialized issue that triggered the alert rule. The contents will vary depending on the type of issue associated with the activity. +- description: the serialized issue that triggered the alert. The contents will vary depending on the type of issue associated with the activity. ### data['activity'] @@ -79,7 +79,7 @@ The interactive demo below shows how to set up an internal integration that can ### data['alert']['settings'] - type: object -- description: the saved settings a user configured for routing when the alert was set up. Only available for [alert rule action UI components](/integrations/integration-platform/ui-components/alert-rule-action). +- description: the saved settings a user configured for routing when the alert was set up. Only available for [alert action UI components](/integrations/integration-platform/ui-components/alert-action). ## Payload diff --git a/docs/integrations/integration-platform/webhooks/issue-alerts.mdx b/docs/integrations/integration-platform/webhooks/issue-alerts.mdx index 5871a07be8f70..2fe34c11812c8 100644 --- a/docs/integrations/integration-platform/webhooks/issue-alerts.mdx +++ b/docs/integrations/integration-platform/webhooks/issue-alerts.mdx @@ -4,7 +4,7 @@ sidebar_order: 2 description: "Learn more about Sentry's integration platform issue alert webhooks." --- -Sentry integrations which have been made available as [alert rule actions](/integrations/integration-platform/#alerts) can receive issue alert webhooks. +Sentry integrations which have been made available as [alert actions](/integrations/integration-platform/#alerts) can receive issue alert webhooks. The interactive demo below shows how to set up an internal integration that can receive issue alerts. @@ -24,7 +24,7 @@ The interactive demo below shows how to set up an internal integration that can ### data['event'] - type: object -- description: the event that triggered the alert rule +- description: the event that triggered the alert ### data['event']['url'] @@ -53,7 +53,7 @@ The interactive demo below shows how to set up an internal integration that can -The following two fields are for [alert rule action UI components](/integrations/integration-platform/ui-components/alert-rule-action) only. +The following two fields are for [alert action UI components](/integrations/integration-platform/ui-components/alert-action) only. @@ -276,9 +276,9 @@ The following two fields are for [alert rule action UI components](/integrations "version": "7", "web_url": "https://sentry.io/organizations/test-org/issues/1117540176/events/e4874d664c3540c1a32eab185f12c5ab/" }, - "triggered_rule": "Very Important Alert Rule!", + "triggered_rule": "Very Important Alert!", "issue_alert": { - "title": "Very Important Alert Rule!", + "title": "Very Important Alert!", "settings": [ { "name": "channel", diff --git a/docs/integrations/integration-platform/webhooks/metric-alerts.mdx b/docs/integrations/integration-platform/webhooks/metric-alerts.mdx index 0907103a547d3..9fcc3d0f48c13 100644 --- a/docs/integrations/integration-platform/webhooks/metric-alerts.mdx +++ b/docs/integrations/integration-platform/webhooks/metric-alerts.mdx @@ -4,7 +4,7 @@ sidebar_order: 3 description: "Learn more about Sentry's integration platform metric alert webhooks." --- -Sentry integrations which have been made available as [alert rule actions](/integrations/integration-platform/#alerts) can receive metric alert webhooks. +Sentry integrations which have been made available as [alert actions](/integrations/integration-platform/#alerts) can receive metric alert webhooks. The interactive demo below shows how to set up an internal integration that can receive Sentry alerts. @@ -24,12 +24,12 @@ The interactive demo below shows how to set up an internal integration that can ### data['metric_alert'] - type: object -- description: the incident that triggered the alert rule +- description: the incident that triggered the alert ### data['metric_alert']['alert_rule'] - type: object -- description: the alert rule +- description: the alert ### data['metric_alert']['alert_rule']['triggers'] @@ -58,7 +58,7 @@ The interactive demo below shows how to set up an internal integration that can -The following field is for [alert rule action UI components](/integrations/integration-platform/ui-components/alert-rule-action) only. +The following field is for [alert action UI components](/integrations/integration-platform/ui-components/alert-action) only. diff --git a/docs/integrations/issue-tracking/height/img/height-rule.png b/docs/integrations/issue-tracking/height/img/height-alert.png similarity index 100% rename from docs/integrations/issue-tracking/height/img/height-rule.png rename to docs/integrations/issue-tracking/height/img/height-alert.png diff --git a/docs/integrations/issue-tracking/height/index.mdx b/docs/integrations/issue-tracking/height/index.mdx index d5315fa18df08..c07d45a080b6d 100644 --- a/docs/integrations/issue-tracking/height/index.mdx +++ b/docs/integrations/issue-tracking/height/index.mdx @@ -34,7 +34,7 @@ Issue tracking allows you to create Height tasks from within [sentry.io](https:/ To configure issue management automatically, create an [Alert](/product/monitors-and-alerts/alerts/). When selecting the action, choose "Notify Integration" and then "Height", or select "Height" from the action dropdown: -![Height metric alert rule action settings](./img/height-rule.png) +![Height alert action settings](./img/height-alert.png) A Height task will be created automatically when the alert is triggered. diff --git a/docs/integrations/issue-tracking/incidentio/img/incidentio-alert-rule.png b/docs/integrations/issue-tracking/incidentio/img/incidentio-alert.png similarity index 100% rename from docs/integrations/issue-tracking/incidentio/img/incidentio-alert-rule.png rename to docs/integrations/issue-tracking/incidentio/img/incidentio-alert.png diff --git a/docs/integrations/issue-tracking/incidentio/index.mdx b/docs/integrations/issue-tracking/incidentio/index.mdx index bc335845f0037..99b2a3bd7e5d5 100644 --- a/docs/integrations/issue-tracking/incidentio/index.mdx +++ b/docs/integrations/issue-tracking/incidentio/index.mdx @@ -54,16 +54,14 @@ The incident's Slack channel will be updated with attached Sentry issue comments ![Synced comments from Sentry on an incident in Slack](./img/incidentio-issue-sync.png) - ## Alerting Once installed, you can also set Sentry to be an alert source for incidents. ![incident.io alert setup](./img/incidentio-alert-setup.png) -Afterward, within Sentry you can connect it to that newly created source in an alert rule. - -![incident.io alert rule](./img/incidentio-alert-rule.png) +Afterward, within Sentry you can connect it to that newly created source in an alert. +![incident.io alert](./img/incidentio-alert.png) When the alert fires, it'll create an incident on incident.io, with all the downstream affects you set up on that side. diff --git a/docs/integrations/issue-tracking/jira/img/jira-ticket-rule.png b/docs/integrations/issue-tracking/jira/img/jira-ticket-alert.png similarity index 100% rename from docs/integrations/issue-tracking/jira/img/jira-ticket-rule.png rename to docs/integrations/issue-tracking/jira/img/jira-ticket-alert.png diff --git a/docs/integrations/issue-tracking/jira/index.mdx b/docs/integrations/issue-tracking/jira/index.mdx index 05032e70153eb..0397395a39cd3 100644 --- a/docs/integrations/issue-tracking/jira/index.mdx +++ b/docs/integrations/issue-tracking/jira/index.mdx @@ -61,43 +61,43 @@ openssl x509 -pubkey -noout -in jira_publickey.cer > jira_publickey.pem 1. In the resulting dialog, fill out the form as follows: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Application Name Sentry
Application Type Generic Application
Service Provider NameSentry
Consumer Key (your choice, but keep this handy for the next step)
Shared Secret sentry
Request Token URL https://sentry.io
Access Token URLhttps://sentry.io
Authorize URL https://sentry.io
Create Incoming Link No
Application Name Sentry
Application Type Generic Application
Service Provider NameSentry
Consumer Key (your choice, but keep this handy for the next step)
Shared Secret sentry
Request Token URL https://sentry.io
Access Token URLhttps://sentry.io
Authorize URL https://sentry.io
Create Incoming Link No
@@ -107,26 +107,26 @@ openssl x509 -pubkey -noout -in jira_publickey.cer > jira_publickey.pem - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
Consumer Key (the consumer key from Step II.4)
Consumer Name Sentry
Public Key(the public key you created in Section I)
Consumer Callback URL https://sentry.io/extensions/jira-server/setup/
Allow 2-Legged OAuth no
Consumer Key (the consumer key from Step II.4)
Consumer Name Sentry
Public Key(the public key you created in Section I)
Consumer Callback URL https://sentry.io/extensions/jira-server/setup/
Allow 2-Legged OAuth no
@@ -160,12 +160,9 @@ Issue tracking allows you to create Jira issues from within Sentry, and link Sen

- Manual issue management is available to organizations on Team, Business, and - Enterprise plans. -

-

- Automatic issue management is available to organizations on Business and Enterprise plans. + Manual issue management is available to organizations on Team, Business, and Enterprise plans.

+

Automatic issue management is available to organizations on Business and Enterprise plans.

Issue management can be configured in two ways - automatically or manually. @@ -174,7 +171,7 @@ Issue management can be configured in two ways - automatically or manually. To configure issue management automatically, create an [**Alert**](/product/monitors-and-alerts/alerts/). When selecting the **action**, choose **Create a new Jira issue**. -![Create Jira ticket alert rule action](./img/jira-ticket-rule.png) +![Create Jira ticket alert action](./img/jira-ticket-alert.png) A Jira issue will be created automatically when the alert has been triggered. @@ -193,8 +190,7 @@ Here, you’ll be able to create or link Jira issues. To minimize duplication in issue tracking, you can sync comments, assignees, and status updates for Sentry issues to Jira tickets and vice versa. When you delegate an issue to an assignee or update a status on Jira, the updates will also populate in Sentry. When you resolve an issue in Sentry, the issue status will automatically update in Jira. When Jira tickets are marked Done, you can configure how the corresponding issue in Sentry should be resolved. - Issue sync is available for organizations on the Team, Business, and - Enterprise plans. + Issue sync is available for organizations on the Team, Business, and Enterprise plans. To configure Issue sync, navigate to **Organization Settings** > **Integrations**, and click "Configure" next to your Jira Server instance. On the following page, you can configure how you want information to sync between Sentry and Jira. @@ -209,7 +205,7 @@ If you hit a 4xx or 5xx error during or after setting up the Jira Server integra ### Issue Notifications -Alert notifications in Sentry can be routed to many supported integrations, but by default are aimed at email. You will need to configure a project’s [**Alert Rules**](/product/monitors-and-alerts/alerts/) to properly route notifications to a specific integration. +Alert notifications in Sentry can be routed to many supported integrations, but by default are aimed at email. You will need to configure a project’s [**Alerts**](/product/monitors-and-alerts/alerts/) to properly route notifications to a specific integration. ### Ignored Fields @@ -237,7 +233,7 @@ This issue typically occurs if you have an ad blocker blocking the conversation We don’t support custom required fields for the Jira integration. The only required fields we support are the ones that are pre-populated by us. If possible, you can edit your required fields in Jira, or as a workaround, you can create a ticket in Jira first and then link it in Sentry. -### Issue Alert not Creating Jira Issues +### Alert not Creating Jira Issues This problem occurs when you've selected a priority option for the alert that doesn't exist for the given project. If your project configuration contains the "Priority" field, the dropdown will show every priority from **all** projects. Ensure your alert's saved priority is available on your chosen project. diff --git a/docs/integrations/issue-tracking/linear/img/linear-rule.png b/docs/integrations/issue-tracking/linear/img/linear-alert.png similarity index 100% rename from docs/integrations/issue-tracking/linear/img/linear-rule.png rename to docs/integrations/issue-tracking/linear/img/linear-alert.png diff --git a/docs/integrations/issue-tracking/linear/index.mdx b/docs/integrations/issue-tracking/linear/index.mdx index b0e69effa31c1..2625bb51facb2 100644 --- a/docs/integrations/issue-tracking/linear/index.mdx +++ b/docs/integrations/issue-tracking/linear/index.mdx @@ -35,7 +35,7 @@ Issue tracking allows you to create Linear issues from within Sentry, and link S To configure issue management automatically, create an [Alert](/product/monitors-and-alerts/alerts/). When selecting the action, choose "Notify Integration" and then "Linear", or select "Linear" from the action dropdown: -![Create Linear issue as metric alert rule action](./img/linear-rule.png) +![Create Linear issue as alert action](./img/linear-alert.png) A Linear issue will be created automatically when the alert is triggered. diff --git a/docs/integrations/notification-incidents/discord/img/discord-add-issue-alert.png b/docs/integrations/notification-incidents/discord/img/discord-add-alert.png similarity index 100% rename from docs/integrations/notification-incidents/discord/img/discord-add-issue-alert.png rename to docs/integrations/notification-incidents/discord/img/discord-add-alert.png diff --git a/docs/integrations/notification-incidents/discord/img/discord-issue-alert.png b/docs/integrations/notification-incidents/discord/img/discord-alert.png similarity index 100% rename from docs/integrations/notification-incidents/discord/img/discord-issue-alert.png rename to docs/integrations/notification-incidents/discord/img/discord-alert.png diff --git a/docs/integrations/notification-incidents/discord/img/discord-issue-alert-demo.gif b/docs/integrations/notification-incidents/discord/img/discord-issue-alert-demo.gif deleted file mode 100644 index 7624759de161e..0000000000000 Binary files a/docs/integrations/notification-incidents/discord/img/discord-issue-alert-demo.gif and /dev/null differ diff --git a/docs/integrations/notification-incidents/discord/img/discord-metric-alert-demo.gif b/docs/integrations/notification-incidents/discord/img/discord-metric-alert-demo.gif deleted file mode 100644 index 14939f532324a..0000000000000 Binary files a/docs/integrations/notification-incidents/discord/img/discord-metric-alert-demo.gif and /dev/null differ diff --git a/docs/integrations/notification-incidents/discord/index.mdx b/docs/integrations/notification-incidents/discord/index.mdx index bb4226de3f038..15ac37d5d5aa9 100644 --- a/docs/integrations/notification-incidents/discord/index.mdx +++ b/docs/integrations/notification-incidents/discord/index.mdx @@ -28,8 +28,8 @@ Sentry owner, manager, or admin permissions are required to install this integra 4. Use the dropdown menu to select the Discord server you'd like to add Sentry to and click "Continue". - You'll need to have the "Manage Server" permission enabled for your Discord - account in the server you're trying to add the bot to. + You'll need to have the "Manage Server" permission enabled for your Discord account in the + server you're trying to add the bot to. ![Select server](./img/discord-server-select.png) @@ -40,21 +40,21 @@ Your Discord integration will now be available for all projects in your Sentry o ## Configure -Our Discord integration currently supports issue and metric alert rules. Support for personal notifications is planned for future updates. +Our Discord integration currently supports alerts. Support for personal notifications is planned for future updates. -### Issue Alerts +### Setting Up Alerts -To create an issue alert that sends notifications to Discord, follow the steps below: +To create an alert that sends notifications to Discord, follow the steps below: 1. Go to the **Alerts** page in Sentry and click "Create Alert". -2. Select "Issues" and then click "Set Conditions". +2. Select the alert type you'd like to create, then click "Set Conditions". - ![Create issue alert](./img/discord-add-issue-alert.png) + ![Create alert](./img/discord-add-alert.png) -3. Configure your issue alert conditions. +3. Configure your alert conditions. -4. Select "Send a Discord notification" from the "THEN" actions dropdown. +4. Select "Send a Discord notification" from the actions dropdown. 5. Choose the Discord server and channel you'd like to send the alert to. You'll also have the option to specify any tags you'd like to include in the notification. @@ -62,41 +62,15 @@ Note that the channel field must be filled in with a Discord channel ID or chann ![Discord Channel Link](./img/discord-copy-channel-link.png) -6. Test your configuration by clicking "Send Test Notification". If the bot has access to the given channel, you should see an example notification there. - - ![Discord issue alert](./img/discord-issue-alert.png) - -Check out the interactive demo below for a walkthrough of how to create an alert that sends Discord notifications: - -![Issue alert creation](./img/discord-issue-alert-demo.gif) - -### Metric Alerts - -To set up a metric alert that sends Discord notifications, follow the steps below. - -1. Go to the **Alerts** page in Sentry and click "Create Alert". - -2. Select "Number of Errors" or "Users Experiencing Errors", then "Set Conditions". - -3. Configure your metric alert conditions as desired. - -4. Click "Add Action", then select your Discord server from the second dropdown. - -5. Add the channel ID you'd like to send the alert to. - -Note that the channel field must be filled in with a Discord channel ID, **_not_** a channel name. To get it, right click on your channel, select "Copy Link", then highlight the string of numbers at the end. - -![Discord Channel Link](./img/discord-copy-channel-link.png) - - For example, if the URL is `https://discord.com/channels/server-id/channel-id`, the ID is `channel-id`. + For channel IDs, if the URL is `https://discord.com/channels/server-id/channel-id`, the ID is `channel-id`. ![Channel ID in Link](./img/discord-link-channel-id.png) -6. Name and save your alert rule. +6. Test your configuration by clicking "Send Test Notification". If the bot has access to the given channel, you should see an example notification there. -The interactive demo below walks through how to create a metric alert that sends Discord notifications. + ![Discord alert](./img/discord-alert.png) -![Metric alert creation](./img/discord-metric-alert-demo.gif) +7. Name and save your alert. ### Identity Linking diff --git a/docs/integrations/notification-incidents/msteams/img/msteams_metric_alert_rule.png b/docs/integrations/notification-incidents/msteams/img/msteams_metric_alert_rule.png deleted file mode 100644 index 6f9de2ebebc56..0000000000000 Binary files a/docs/integrations/notification-incidents/msteams/img/msteams_metric_alert_rule.png and /dev/null differ diff --git a/docs/integrations/notification-incidents/msteams/index.mdx b/docs/integrations/notification-incidents/msteams/index.mdx index a329c0665057a..e2e058be4a459 100644 --- a/docs/integrations/notification-incidents/msteams/index.mdx +++ b/docs/integrations/notification-incidents/msteams/index.mdx @@ -30,7 +30,8 @@ Sentry owner, manager, or admin permissions are required to install this integra ![Microsoft Teams installation modal with channel selection](./img/msteams-select-channel.png) - If you click "Open" instead of selecting a channel, this will incorrectly install Sentry as a personal app. + If you click "Open" instead of selecting a channel, this will incorrectly install Sentry as a + personal app. 3. You should see a welcome message in your selected channel within a few seconds. Click "Complete Setup". @@ -43,23 +44,19 @@ The integration should be installed at this point. Use Microsoft Teams for [alerts](/product/monitors-and-alerts/alerts/) regarding issues, environments, deployment, etc. -### Alert Rules +### Alerts -If Microsoft Teams is not appearing as an option in issue alert actions, re-install the integration using "Add to team". +If Microsoft Teams is not appearing as an option in alert actions, re-install the integration using "Add to team". -Set up an alert rule by going to **Alerts** and clicking "Create Alert". From here, you can configure alerts to route notifications to your Microsoft Team's channels. +Set up an alert by going to **Alerts** and clicking "Create Alert". From here, you can configure alerts to route notifications to your Microsoft Team's channels. In [Alerts](/product/monitors-and-alerts/alerts/), select "Send a Microsoft Teams notification" in the actions dropdown and then select your team and channel: -![Microsoft Teams alert rule action](./img/msteams-add-action.png) - -In [Monitors](/product/monitors-and-alerts/monitors/), select the Microsoft Teams option in the dropdown that corresponds to your team and then enter the username or channel: - -![Microsoft Teams metric alert rule action](./img/msteams_metric_alert_rule.png) +![Microsoft Teams alert action](./img/msteams-add-action.png) Once you receive a Microsoft Teams notification, you can use the "Resolve", "Archive", or "Assign" buttons to update the Issue in Sentry. diff --git a/docs/integrations/notification-incidents/opsgenie/img/opsgenie-issue-alert-rule.png b/docs/integrations/notification-incidents/opsgenie/img/opsgenie-alert.png similarity index 100% rename from docs/integrations/notification-incidents/opsgenie/img/opsgenie-issue-alert-rule.png rename to docs/integrations/notification-incidents/opsgenie/img/opsgenie-alert.png diff --git a/docs/integrations/notification-incidents/opsgenie/img/opsgenie-metric-alert-rule.png b/docs/integrations/notification-incidents/opsgenie/img/opsgenie-metric-alert-rule.png deleted file mode 100644 index 3fd884b25e2d8..0000000000000 Binary files a/docs/integrations/notification-incidents/opsgenie/img/opsgenie-metric-alert-rule.png and /dev/null differ diff --git a/docs/integrations/notification-incidents/opsgenie/index.mdx b/docs/integrations/notification-incidents/opsgenie/index.mdx index 40bfcd2fea336..7a076215c9891 100644 --- a/docs/integrations/notification-incidents/opsgenie/index.mdx +++ b/docs/integrations/notification-incidents/opsgenie/index.mdx @@ -2,15 +2,17 @@ title: Opsgenie sidebar_order: 1 description: >- - Learn more about Sentry's Opsgenie integration, which allows you to send issue - and metric alerts to Opsgenie teams. + Learn more about Sentry's Opsgenie integration, which allows you to send + alerts to Opsgenie teams. og_image: /og-images/organization-integrations-notification-incidents-opsgenie.png --- -The Opsgenie integration allows you to connect your Sentry organization with one or more Opsgenie accounts. Once your accounts have been connected, you'll be able to configure issue and metric alerts in Sentry to be sent to the Opsgenie teams of your choice. +The Opsgenie integration allows you to connect your Sentry organization with one or more Opsgenie accounts. Once your accounts have been connected, you'll be able to configure alerts in Sentry to be sent to the Opsgenie teams of your choice. - Atlassian has [deprecated](https://www.atlassian.com/software/opsgenie/migration) the Opsgenie product in favor of Jira Service Management. The JSM integration is community supported and maintained. + Atlassian has [deprecated](https://www.atlassian.com/software/opsgenie/migration) the Opsgenie + product in favor of Jira Service Management. The JSM integration is community supported and + maintained. @@ -47,18 +49,16 @@ If you choose to create a key via the Opsgenie API, you will need to set "allowC ### Set Up Alerts -You can set up a new alert rule via the Opsgenie integration configuration page by clicking on the **Add Alert Rule** button in the **Project Configuration** section, or by going to the **Alerts** page in Sentry. +You can set up a new alert via the Opsgenie integration configuration page by clicking on the **Add Alert** button in the **Project Configuration** section, or by going to the **Alerts** page in Sentry. To create an [Alert](/product/monitors-and-alerts/alerts/) in Sentry, go to the **Alerts** page and click "Create Alert". After you've decided what you want to be alerted about, you'll be able to choose to "Send an Opsgenie notification" from the "Add action" dropdown. You can then choose your account, team, and priority for the alert. -![Opsgenie issue alert rule action](./img/opsgenie-issue-alert-rule.png) +![Opsgenie alert action](./img/opsgenie-alert.png) -Here is what a sample issue alert looks like in Opsgenie: +Here is what a sample alert looks like in Opsgenie: ![Opsgenie sample alert](./img/opsgenie-sample-alert.png) If you want to alert through Opsgenie based on a threshold, you can connect a [Monitor](/product/monitors-and-alerts/monitors/) to an Alert. You can also select a custom priority for the alert, or leave it blank to use the default severity level that Sentry provides for incident statuses ("P1" for critical status and "P2" for warning status) -![Opsgenie metric alert rule action](./img/opsgenie-metric-alert-rule.png) - Alerts that get resolved in Sentry will be automatically acknowledged in Opsgenie. diff --git a/docs/integrations/notification-incidents/pagerduty/img/pd_alert_rule.png b/docs/integrations/notification-incidents/pagerduty/img/pd_alert.png similarity index 100% rename from docs/integrations/notification-incidents/pagerduty/img/pd_alert_rule.png rename to docs/integrations/notification-incidents/pagerduty/img/pd_alert.png diff --git a/docs/integrations/notification-incidents/pagerduty/img/pd_metric_alert_rule.png b/docs/integrations/notification-incidents/pagerduty/img/pd_metric_alert_rule.png deleted file mode 100644 index 1db22f863e73e..0000000000000 Binary files a/docs/integrations/notification-incidents/pagerduty/img/pd_metric_alert_rule.png and /dev/null differ diff --git a/docs/integrations/notification-incidents/pagerduty/index.mdx b/docs/integrations/notification-incidents/pagerduty/index.mdx index d38506c604f58..3167eaade852a 100644 --- a/docs/integrations/notification-incidents/pagerduty/index.mdx +++ b/docs/integrations/notification-incidents/pagerduty/index.mdx @@ -43,20 +43,18 @@ You can now set up rules to use the new integration under **Project Configuratio If you re-generate an integration key for one of your services in PagerDuty you can manually update that value in configuration page for your PagerDuty installation. Additionally, you can add services by clicking "Add Services" in the top right. This will take you to the same page, as shown in step 5. -### Alert Rules +### Alerts -Click "Add Alert Rule" in the integration configuration page or go to **Alerts** and click "Create Alert" to set up a new alert rule for the PagerDuty integration. +Click "Add Alert" in the integration configuration page or go to **Alerts** and click "Create Alert" to set up a new alert for the PagerDuty integration. In [Alerts](/product/monitors-and-alerts/alerts/), select "Send a PagerDuty notification" in the actions dropdown and then select your account and service. You can also select a custom severity for alert, or select "default" to use the default severity level that Sentry provides for issue types ("critical" for fatal, "error" for error, "warning" for warning, and "info" for debug and info issues). -![PagerDuty alert rule action](./img/pd_alert_rule.png) +![PagerDuty alert action](./img/pd_alert.png) In [Monitors](/product/monitors-and-alerts/monitors/), select the PagerDuty option in the dropdown that corresponds to your account and then select your service. You can also select a custom severity for the alert, or leave it blank to use the default severity level that Sentry provides for incident statuses ("critical" for critical status and "warning" for warning status). -![PagerDuty metric alert rule action](./img/pd_metric_alert_rule.png) - -If a PagerDuty incident is created from the critical trigger of a metric alert and no warning threshold has been set, it will resolve itself when the Sentry metric alert is resolved. Metric alerts that have set warning thresholds may need to be manually resolved as PagerDuty incidents. +If a PagerDuty incident is created from the critical trigger of an alert and no warning threshold has been set, it will resolve itself when the Sentry alert is resolved. Alerts that have set warning thresholds may need to be manually resolved as PagerDuty incidents. ## Deleting the Legacy PagerDuty Integration -Once you configure the global PagerDuty integration and Alert Rules, you can disable the old PagerDuty integration. You’ll need to go to each project that has it enabled and disable it. We recommend disabling the legacy integration after setting up the global integration. +Once you configure the global PagerDuty integration and Alerts, you can disable the old PagerDuty integration. You’ll need to go to each project that has it enabled and disable it. We recommend disabling the legacy integration after setting up the global integration. diff --git a/docs/integrations/notification-incidents/slack/index.mdx b/docs/integrations/notification-incidents/slack/index.mdx index d78dd6a268226..2c9aeaadbdbb8 100644 --- a/docs/integrations/notification-incidents/slack/index.mdx +++ b/docs/integrations/notification-incidents/slack/index.mdx @@ -40,7 +40,7 @@ Use Slack for notifications and [alerts](#alerting) regarding issues, environmen ### Personal Notifications -You can receive personal workflow, deploy, and issue alert notifications from our Slack integration. Manage your [personal notification settings](/product/notifications/notification-settings/) by navigating to **User Settings > Notifications**. +You can receive personal workflow, deploy, and alert notifications from our Slack integration. Manage your [personal notification settings](/product/notifications/notification-settings/) by navigating to **User Settings > Notifications**. #### Linking Your Slack and Sentry Accounts @@ -68,7 +68,7 @@ For example, Error alerts will have tools to "Resolve", "Archive" and "Assignee" For metric issues, a chart of the metric's history will be included in the alert, with a follow-up alert appearing as a threaded reply for future status changes. -![Slack notification of a metric alert =500x](./img/slack-alert-metric.png) +![Slack notification of an alert =500x](./img/slack-alert-metric.png) ## Seer Agent diff --git a/docs/integrations/source-code-mgmt/azure-devops/img/azure-ticket-rule.png b/docs/integrations/source-code-mgmt/azure-devops/img/azure-ticket-alert.png similarity index 100% rename from docs/integrations/source-code-mgmt/azure-devops/img/azure-ticket-rule.png rename to docs/integrations/source-code-mgmt/azure-devops/img/azure-ticket-alert.png diff --git a/docs/integrations/source-code-mgmt/azure-devops/index.mdx b/docs/integrations/source-code-mgmt/azure-devops/index.mdx index 9abc19edf7231..b67dbb821a6fc 100644 --- a/docs/integrations/source-code-mgmt/azure-devops/index.mdx +++ b/docs/integrations/source-code-mgmt/azure-devops/index.mdx @@ -13,16 +13,20 @@ Azure DevOps was formerly known as Visual Studio Team Services (VSTS).

- We recommend creating a dedicated service account on Azure DevOps when installing this integration rather than using a personal user account. + We recommend creating a dedicated service account on Azure DevOps when installing this + integration rather than using a personal user account.

- Since the integration authenticates via OAuth, activities such as comments and work item creation will be attributed to the Azure DevOps user who authorized the integration. + Since the integration authenticates via OAuth, activities such as comments and work item + creation will be attributed to the Azure DevOps user who authorized the integration.

- Using a service account helps maintain proper access control, prevents disruption when team members leave, and ensures consistent attribution for all features across your organization. + Using a service account helps maintain proper access control, prevents disruption when team + members leave, and ensures consistent attribution for all features across your organization.

- After creating the Azure DevOps service account, you will need to sign into Sentry with an user account that has owner, manager, or admin permissions to install the integration. + After creating the Azure DevOps service account, you will need to sign into Sentry with an user + account that has owner, manager, or admin permissions to install the integration.

@@ -58,12 +62,11 @@ Issue tracking allows you to create Azure DevOps issues from within Sentry, and

- Manual issue management is available to organizations on Team, Business, and - Enterprise plans. + Manual issue management is available to organizations on Team, Business, and Enterprise plans.

- Automatic issue management is available to organizations that include - transactions in their Business and Enterprise plans. + Automatic issue management is available to organizations that include transactions in their + Business and Enterprise plans.

@@ -73,7 +76,7 @@ Issue management can be configured in two ways - automatically or manually. To configure issue management automatically, create an [**Alert**](/product/monitors-and-alerts/alerts/). When selecting the **action**, choose **Create a new Azure DevOps work item**. -![Create Azure DevOps work item as alert rule action](./img/azure-ticket-rule.png) +![Create Azure DevOps work item as alert action](./img/azure-ticket-alert.png) An Azure DevOps work item will be created automatically when the alert has been triggered. @@ -88,8 +91,7 @@ Once you’ve navigated to a specific issue, you’ll find the **Linked Issues** Sync comments, assignees, and status updates for issues in Sentry to Azure DevOps, to minimize duplication. When you delegate an issue to an assignee or update a status on Azure DevOps, the updates will also populate in Sentry. When you resolve an issue in Sentry, the issue status will automatically update in Azure DevOps. - Issue sync is available for organizations on the Team, Business, and - Enterprise plans. + Issue sync is available for organizations on the Team, Business, and Enterprise plans. To configure Issue sync, navigate to ** Organization Settings > Integrations**, and click "Configure" next to your Azure DevOps instance. On the following page, you’ll see options of what information you’d like synced between Sentry and Azure DevOps. @@ -121,7 +123,6 @@ Stack trace linking takes you from a file in your Sentry stack trace to that sam 1. Set up a code mapping for each project you want to have stack trace linking. To create a new code mapping, click "Add Mapping". 1. Fill out the form, then click "Save Changes". Each form field is described below: - - **Project** (required): This is the Sentry project. - **Repo** (required): This is the Azure DevOps project associated with the Sentry project above. If you have more than one Azure DevOps project being used per Sentry project, you'll need multiple code mappings. - **Branch** (required): This is the default branch of your code we fall back to if you do not have commit tracking set up. @@ -176,6 +177,6 @@ If you reach the account selection page during the Azure Devops installation pro If reinstallation solves the problem, please upvote [that solution in - GitHub](https://github.com/getsentry/sentry/issues/14357), which is where - we're tracking this improvement. + GitHub](https://github.com/getsentry/sentry/issues/14357), which is where we're tracking this + improvement. diff --git a/docs/integrations/source-code-mgmt/github/img/github-ticket-rule.png b/docs/integrations/source-code-mgmt/github/img/github-ticket-alert.png similarity index 100% rename from docs/integrations/source-code-mgmt/github/img/github-ticket-rule.png rename to docs/integrations/source-code-mgmt/github/img/github-ticket-alert.png diff --git a/docs/integrations/source-code-mgmt/github/index.mdx b/docs/integrations/source-code-mgmt/github/index.mdx index 904fc0a94121b..4a76b57401d96 100644 --- a/docs/integrations/source-code-mgmt/github/index.mdx +++ b/docs/integrations/source-code-mgmt/github/index.mdx @@ -11,6 +11,7 @@ og_image: /og-images/organization-integrations-source-code-mgmt-github.png The GitHub integration connects your repositories to Sentry to bring [commit tracking](#commit-tracking), [suspect commits](#suspect-commits-and-suggested-assignees), [stack trace linking](#stack-trace-linking), [issue management](#issue-management), and [PR comments](#get-sentry-comments-on-pull-requests), into the contexts that Sentry uses to help debug issues and power [Seer AI features](#configure-github-integration) like Autofix and Code Review. It also supports [resolving issues via commit or PR](#resolve-via-commit-or-pull-request) and [Code Owners](#code-owners) for automatic issue routing. There are three types of GitHub integrations, so make sure you're choosing the correct one: + - [GitHub](#installing-github) - For individual GitHub users/organizations (as well as most GitHub Enterprise Cloud customers), so long as they are hosted on `github.com`. Follow the '[Installing GitHub](#installing-github)' instructions, **Please begin the installation from Sentry**. - [GitHub Enterprise](#installing-github-enterprise) - For GitHub Enterprise instances that **cannot be accessed from `github.com`**. Usually these will have a custom domain, for example: @@ -37,7 +38,6 @@ Sentry owner, manager, or admin permissions, and GitHub owner permissions are re ## Installing GitHub - 1. In Sentry, navigate to **Settings > Integrations > [GitHub](https://sentry.io/orgredirect/organizations/:orgslug/settings/integrations/github)**. ![Install GitHub integration =800x](./img/github-install-page.png) @@ -70,17 +70,17 @@ While you can install the GitHub integration from [GitHub](https://github.com/ap The following permissions are required for the GitHub integration to work correctly. You must fully opt in to these permissions to use the app. All permissions listed are repo-level permissions, unless otherwise indicated. -| Permission Category | Access Level | Why Sentry Needs It | -|--------------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------| -| Administration | Read-only | To respect branch protection rules, determine default branches, and enhance automation. | -| Checks | Read & Write | To show detailed pass/fail results (e.g. test coverage, release health, AI Code Review) as GitHub Checks on PRs or commits. | -| Commit Statuses | Read & Write | To post status checks to commits in GitHub and integrate with branch protection rules. | -| Contents | Read & Write | To fetch source files, commits, and blame data for Suspect Commits, track files in Releases, and create branches and pull requests.| -| Issues | Read & Write | To create GitHub issues from Sentry events and update linked issues. | -| Members
_[Org-level]_
| Read-only | To map organization users to GitHub identities for improved issue attribution and collaboration. | -| Metadata | Read-only | To identify repository structure, names, default branches, and visibility. | -| Pull Requests | Read & Write | To write comments on pull requests for (1) issues caused by the pull request, (2) to highlight existing issues in the code diff, and (3) AI Code Review feedback.| -| Webhooks | Read & Write | To subscribe to real-time updates like push events, PRs, and issues. +| Permission Category | Access Level | Why Sentry Needs It | +| ----------------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Administration | Read-only | To respect branch protection rules, determine default branches, and enhance automation. | +| Checks | Read & Write | To show detailed pass/fail results (e.g. test coverage, release health, AI Code Review) as GitHub Checks on PRs or commits. | +| Commit Statuses | Read & Write | To post status checks to commits in GitHub and integrate with branch protection rules. | +| Contents | Read & Write | To fetch source files, commits, and blame data for Suspect Commits, track files in Releases, and create branches and pull requests. | +| Issues | Read & Write | To create GitHub issues from Sentry events and update linked issues. | +| Members
_[Org-level]_
| Read-only | To map organization users to GitHub identities for improved issue attribution and collaboration. | +| Metadata | Read-only | To identify repository structure, names, default branches, and visibility. | +| Pull Requests | Read & Write | To write comments on pull requests for (1) issues caused by the pull request, (2) to highlight existing issues in the code diff, and (3) AI Code Review feedback. | +| Webhooks | Read & Write | To subscribe to real-time updates like push events, PRs, and issues. | Occasionally, Sentry will request additional permissions to your GitHub account as new features are introduced. Denying or ignoring the request to update will not affect your current Sentry usage, but may prevent access to future features. @@ -104,143 +104,147 @@ Occasionally, Sentry will request additional permissions to your GitHub account 2. Then in GitHub, fill out the form as follows and click "Create GitHub App". - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GitHub App Name sentry-app
Homepage URL https://sentry.io
User authorization callback URL https://sentry.io/extensions/github-enterprise/setup/
Setup URL https://sentry.io/extensions/github-enterprise/setup/
Webhook URL - https://sentry.io/extensions/github-enterprise/webhook/ -
- If you're configuring a custom GitHub App on github.com (instead of GitHub Enterprise Server or GitHub Enterprise Cloud), use `https://sentry.io/extensions/github-enterprise/webhook/github-com/` instead. -
Webhook secret `Input your secret from the previous step`
Repository Administration Read-only
Commit Statuses No Access
Deployments No Access
Issues Read & Write
Pages No Access
Pull Requests Read & Write
Repository Contents Read & Write
Single File No Access
Repository Projects No Access
Organization members Read-only
Organization projects No Access
GitHub App Name sentry-app
Homepage URL https://sentry.io
User authorization callback URL https://sentry.io/extensions/github-enterprise/setup/
Setup URL https://sentry.io/extensions/github-enterprise/setup/
Webhook URL + https://sentry.io/extensions/github-enterprise/webhook/ +
+ + If you're configuring a custom GitHub App on github.com (instead of GitHub Enterprise + Server or GitHub Enterprise Cloud), use + `https://sentry.io/extensions/github-enterprise/webhook/github-com/` instead. + +
Webhook secret `Input your secret from the previous step`
Repository Administration Read-only
Commit Statuses No Access
Deployments No Access
Issues Read & Write
Pages No Access
Pull Requests Read & Write
Repository Contents Read & Write
Single File No Access
Repository Projects No Access
Organization members Read-only
Organization projects No Access
**Subscribe to Events** - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Delete Yes
Fork Yes
Issue comment Yes
Issues Yes
Member Yes
Membership Yes
Organization Yes
Public Yes
Pull Request Yes
Push Yes
Release Yes
Repository Yes
Status Yes
Team add Yes
Delete Yes
Fork Yes
Issue comment Yes
Issues Yes
Member Yes
Membership Yes
Organization Yes
Public Yes
Pull Request Yes
Push Yes
Release Yes
Repository Yes
Status Yes
Team add Yes
### Install your GitHub App @@ -284,7 +288,9 @@ GitHub Enterprise should now be enabled for all projects under your Sentry organ ## Installing the Seer GitHub App -**Deprecated:** This GitHub app is no longer supported and will be removed in the future. Migrate to the [Seer GitHub integration](/integrations/source-code-mgmt/github/#installing-github) instead._ + **Deprecated:** This GitHub app is no longer supported and will be removed in the future. Migrate + to the [Seer GitHub integration](/integrations/source-code-mgmt/github/#installing-github) + instead._ ## Configure GitHub Integration @@ -314,12 +320,9 @@ Sentry issues to existing GitHub Issues.

- Manual issue management is available to organizations on Team, Business, or - Enterprise plans. -

-

- Automatic issue management is available to organizations on Business or Enterprise plans. + Manual issue management is available to organizations on Team, Business, or Enterprise plans.

+

Automatic issue management is available to organizations on Business or Enterprise plans.

Issue management can be configured in two ways - automatically or manually. @@ -328,7 +331,7 @@ Issue management can be configured in two ways - automatically or manually. To configure issue management automatically, create an [**Alert**](/product/monitors-and-alerts/alerts/). When selecting the **action**, choose **Create a new GitHub issue**. -![Create GitHub Issue alert rule action =700x](./img/github-ticket-rule.png) +![Create GitHub Issue alert action =700x](./img/github-ticket-alert.png) A GitHub issue will be created automatically when the alert has been triggered. @@ -347,8 +350,7 @@ Here, you'll be able to create or link GitHub issues. To minimize duplication in issue tracking, you can sync comments, assignees, and status updates for Sentry issues to Github issues and vice versa. When you delegate an issue to an assignee or update a status on Github, the updates will also populate in Sentry. When you resolve an issue in Sentry, the issue status will automatically update in Github. When Github issues are marked as closed, you can configure how the corresponding issue in Sentry should be resolved. - Issue sync is available for organizations on the Team, Business, and - Enterprise plans. + Issue sync is available for organizations on the Team, Business, and Enterprise plans. To configure Issue sync, navigate to **Organization Settings** > **Integrations**, and click "Configure" next to your Github instance. On the following page, you can configure how you want information to sync between Sentry and Github. @@ -370,7 +372,8 @@ To set up user mappings: ![Configure GitHub user mappings](./img/github-user-mappings.png) - Make sure there is a 1:1 mapping between a Github user and a Sentry user. If there is not, assignee syncing will not work. + Make sure there is a 1:1 mapping between a Github user and a Sentry user. If there is not, + assignee syncing will not work. ### Resolve via Commit or Pull Request @@ -446,7 +449,6 @@ Stack trace linking takes you from a file in your Sentry stack trace to that sam 1. Set up a code mapping for each project for which you want to enable stack trace linking. To create a new code mapping, click **Add Mapping**. 1. Fill out the form, then click **Save Changes**. Each form field is described below: - - **Project** (required): This is the Sentry project. - **Repo** (required): This is the GitHub repository associated with the Sentry project above. If you have more than one GitHub repository being used per Sentry project, you'll need multiple code mappings. - **Branch** (required): This is the default branch of your code we fall back to if you do not have commit tracking set up. diff --git a/docs/organization/data-storage-location/index.mdx b/docs/organization/data-storage-location/index.mdx index 2341d55020f71..72789d6a0afbf 100644 --- a/docs/organization/data-storage-location/index.mdx +++ b/docs/organization/data-storage-location/index.mdx @@ -103,7 +103,7 @@ If you have a self-hosted Sentry account, you can [follow these instructions](/c - Projects and project settings - Teams and members - Dashboards -- Alert rules, notifications and incidents +- Alerts, notifications and incidents - Saved searches **Unsupported for relocation:** diff --git a/docs/organization/getting-started/index.mdx b/docs/organization/getting-started/index.mdx index 7eb5f1f62e9d3..8f121c6592d9d 100644 --- a/docs/organization/getting-started/index.mdx +++ b/docs/organization/getting-started/index.mdx @@ -105,7 +105,7 @@ If you haven't set up any teams to associate with your project because you skipp A _project_ is a logical entity that connects the errors in your application (or a part of it) to the team members assigned to that project. The project settings determine: - Which errors should be ingested into your Sentry account and which should be dropped, through [Inbound Filters](/pricing/quotas/#inbound-data-filters) -- Who to notify, about what error, and how, using [Alert Rules](/product/monitors-and-alerts/alerts/) +- Who to notify, about what error, and how, using [Alerts](/product/monitors-and-alerts/alerts/) - Which errors should be automatically assigned to which member or team using [Ownership Rules](/product/issues/ownership-rules/) - Custom rules to fine-tune [Event Grouping](/concepts/data-management/event-grouping/) into issues @@ -132,6 +132,6 @@ Depending on your development life cycle, your applications are probably deploye Having the environment defined in your SDK will allow you to: -- Create environment-specific alert rules. +- Create environment-specific alerts. - Filter the **Issues** page based on the environment. - Gain comparative insights, based on the environment, through queries in **Discover**. diff --git a/docs/product/ai-in-sentry/seer/autofix/index.mdx b/docs/product/ai-in-sentry/seer/autofix/index.mdx index 78de4f0b7cf15..db49cf14b6598 100644 --- a/docs/product/ai-in-sentry/seer/autofix/index.mdx +++ b/docs/product/ai-in-sentry/seer/autofix/index.mdx @@ -133,7 +133,7 @@ This feature is available to organizations enrolled in the Early Adopter If you have the [Slack integration](/integrations/notification-incidents/slack/) enabled, you can trigger Autofix from a Slack message. 1. Invite Sentry to your Slack channel (@Sentry) -2. Make sure you have [Issue Alerts](/integrations/notification-incidents/slack/#issue-alerts) configured to send alerts to the Slack channel +2. Make sure you have [Alerts](/integrations/notification-incidents/slack/#alerting) configured to send alerts to the Slack channel 3. When a new issue is shown on the channel, it will include an option to *Fix with Seer* Clicking *Fix with Seer* will trigger Autofix for the issue. You can wait to see the result posted in the issue thread, or go to Sentry to see the process. Seer will prompt you to take next steps once it has finished running, including planning a solution, generating code, and pushing it to your codebase. diff --git a/docs/product/dashboards/sentry-dashboards/transaction-summary.mdx b/docs/product/dashboards/sentry-dashboards/transaction-summary.mdx index f2ad099f48d8a..0b6e3f022b9b1 100644 --- a/docs/product/dashboards/sentry-dashboards/transaction-summary.mdx +++ b/docs/product/dashboards/sentry-dashboards/transaction-summary.mdx @@ -157,16 +157,15 @@ If you find an important transaction you want to return to, click "Star for Team ### Creating Alerts -To create a metric alert rule for this transaction, click [Create Alert](/product/monitors-and-alerts/monitors/) at the top of the page. +To create an alert for this transaction, click [Create Alert](/product/monitors-and-alerts/monitors/) at the top of the page. ## Extracted Metrics in Dashboard Widgets [Deprecated] - -This feature is a deprecated feature only available to legacy customers. - +This feature is a deprecated feature only available to legacy customers. If you are building a widget with transaction data, and would like to use event-like filters (eg. `transaction.duration:>100ms`) or custom tags that you set on your transactions, we will routinely collect metrics to show you accurate counts and rates. Not all widgets are compatible with metrics extraction. The following cases will cause your widget to continue using event-backed data: + - Equations — Using equations will show you event data instead of metrics. -- Widgets that display data from errors and transactions simultaneously — Extraction only happens for transaction data. You need to use the `event.type:transaction` filter along with your custom tags in order to get extracted metrics. \ No newline at end of file +- Widgets that display data from errors and transactions simultaneously — Extraction only happens for transaction data. You need to use the `event.type:transaction` filter along with your custom tags in order to get extracted metrics. diff --git a/docs/product/issues/issue-details/error-issues/index.mdx b/docs/product/issues/issue-details/error-issues/index.mdx index 8f3a21f50c3b6..2db6a39a47b71 100644 --- a/docs/product/issues/issue-details/error-issues/index.mdx +++ b/docs/product/issues/issue-details/error-issues/index.mdx @@ -11,7 +11,7 @@ An _error issue_ is a grouping of error events. What counts as an error varies b ![Issue details](../img/issue-details-page.png) -## Subscribe to Issue Alerts +## Subscribe to Alerts To subscribe to an error issue and receive alerts about it, click the bell icon, then fine tune [workflow notifications](/product/notifications/#workflow-notifications) related to the issue in **User Settings > Notifications**. ## Error Levels diff --git a/docs/product/issues/issue-details/replay-issues/rage-clicks.mdx b/docs/product/issues/issue-details/replay-issues/rage-clicks.mdx index 5375c78bfcb86..ce7bd2e0ecc9e 100644 --- a/docs/product/issues/issue-details/replay-issues/rage-clicks.mdx +++ b/docs/product/issues/issue-details/replay-issues/rage-clicks.mdx @@ -17,7 +17,8 @@ In order to see rage clicks in your issue stream on the **Issues** page, your or - Enable the JavaScript SDK (or framework-specific bundle), version 7.60.1 or higher -While you can enable **Session Replay** with JavaScript SDK version 7.27.0, or higher, you'll need to have version 7.60.1 or higher in order to be able to see **rage click issues**. + While you can enable **Session Replay** with JavaScript SDK version 7.27.0, or higher, you'll need + to have version 7.60.1 or higher in order to be able to see **rage click issues**. ## Detection Criteria @@ -30,16 +31,17 @@ You can configure Replay to ignore specific selectors if you are seeing [too man To set up alerts and get notified when a rage click occurs, follow these steps: -1. Create a new [Alert Rule](https://sentry.io/orgredirect/organizations/:orgslug/alerts/new/issue/) in Sentry. +1. Create a new [Alert](https://sentry.io/orgredirect/organizations/:orgslug/alerts/new/issue/) in Sentry. 2. In the "Set conditions" section, set the "IF" filter to "The issue's category is equal to", then choose "Replay" from the dropdown. 3. Add an optional filter if you like. -5. Choose the action to be performed in the "THEN" dropdown. -6. Decide how often you'd like Sentry to look for rage click issues. -7. Lastly, name your alert and add an owner. +4. Choose the action to be performed in the "THEN" dropdown. +5. Decide how often you'd like Sentry to look for rage click issues. +6. Lastly, name your alert and add an owner. ## Turn Off Rage Click Issues If you don't want to see rage click issues, you can disable them, follow these steps: + 1. Go to the [Settings > Projects](https://sentry.io/orgredirect/organizations/:orgslug/settings/projects/) page in Sentry. 2. Select a project from the list. 3. Go to the "Replays" sub-page for this project under the "Processing" heading. diff --git a/docs/product/issues/reprocessing/index.mdx b/docs/product/issues/reprocessing/index.mdx index 060179a7ae040..ec09ecf1a4f18 100644 --- a/docs/product/issues/reprocessing/index.mdx +++ b/docs/product/issues/reprocessing/index.mdx @@ -8,7 +8,7 @@ og_image: /og-images/product-issues-reprocessing.png Sentry uses [debug information files](/platforms/native/data-management/debug-files/) only after they have been uploaded. _Reprocessing_ allows you to apply debug information files to error events that have already occurred. -Note: This feature is only applicable for error issues with debug information files. (Note that this does not include JavaScript events, which use source maps rather than DIFs.) Other categories of issues +Note: This feature is only applicable for error issues with debug information files. (Note that this does not include JavaScript events, which use source maps rather than DIFs.) Other categories of issues (such as [performance issues](/product/issues/issue-details/performance-issues/) or [replay issues](/product/issues/issue-details/replay-issues/)) do not support this feature. You can find the following action when viewing an issue: @@ -54,7 +54,6 @@ should be aware of and understand before you begin reprocessing. enabled. If an event's minidump is missing for whatever reason, the event **will not be reprocessed**. Reasons include: - - Minidump storage is disabled. - The project stores only a [limited number of minidumps](/platforms/native/guides/minidumps/enriching-events/attachments/#enabling-minidump-storage) per issue. - You ran out of attachment quota. @@ -68,11 +67,10 @@ should be aware of and understand before you begin reprocessing. applied only one hour after internal caches have expired. Please wait at least an hour after uploading DIFs before reprocessing. -- **Alerts do not apply, with caveats.** Issue alerts do not trigger for - reprocessed events, and the new events are not subject to data forwarding. +- **Alerts do not apply, with caveats.** Alerts connected to error monitors will not fire for reprocessed events, and the new events are not subject to data forwarding. - Metric alerts generally do not trigger either. However, they are subject to the - data inconsistencies listed above. If you've created a metric alert with + However, alerts that trigger on metric issues are subject to the + data inconsistencies listed above. If you've created an alert with a 24-hour measurement window, and an event you reprocess happened in the last 24 hours, it will temporarily be counted twice while events are reprocessing. - This may trigger a metric alert. + This may trigger the alert. diff --git a/docs/product/logs/index.mdx b/docs/product/logs/index.mdx index 118b92ef8bdc3..95b155472c2cd 100644 --- a/docs/product/logs/index.mdx +++ b/docs/product/logs/index.mdx @@ -8,14 +8,13 @@ description: >- og_image: /og-images/product-explore-logs.png --- - ## Overview With Structured Logs, you can send text-based log information from your applications, whether frontend or backend, to Sentry. -Sentry's structured logs are searchable, **trace-connected**, and viewable alongside your errors. +Sentry's structured logs are searchable, **trace-connected**, and viewable alongside your errors. **What does trace-connected mean?** Every log entry is automatically linked to the active trace when it was recorded. This means you can click directly from any log entry to see the full trace waterfall, including all related spans, errors, and other logs from the same request. This connection makes it easy to understand the complete context of what happened—not just what was logged, but the entire execution path that led to that log entry. @@ -39,7 +38,7 @@ If you're using a platform where you can't install the Sentry SDK directly, or i ## Viewing and Searching Logs **Raw Text Search** -Raw text search is case sensitive and allows you to search for specific strings within the *message* attribute of the Log. **Raw text search over the entire log's JSON is not supported.** Learn more about [search syntax](/concepts/search/). +Raw text search is case sensitive and allows you to search for specific strings within the _message_ attribute of the Log. **Raw text search over the entire log's JSON is not supported.** Learn more about [search syntax](/concepts/search/). ![Raw Text Logs Search](./img/LogSearchRawText.png) @@ -62,7 +61,6 @@ Here are some practical examples of log searches you can use: Learn more about [search syntax](/concepts/search/) for advanced querying. - **Expand Logs** Log entries can be expanded to view all properties of a log entry. Individual properties can be added as columns to the results view, allowing you to quickly view properties that matter specifically to you alongside your search results. @@ -83,22 +81,24 @@ Conditions in which auto-refresh is disabled: - Auto-refresh is not available in the aggregates view. **Export Data** -You can export up to 10,000 log lines in CSV or [JSON Lines (JSONL)](https://jsonlines.org/) format. +You can export up to 10,000 log lines in CSV or [JSON Lines (JSONL)](https://jsonlines.org/) format. -- Click **Export Data** to select your format, pick whether to export only the currently displayed columns or all columns, and choose the number of rows. - - **Note:** Use either format to export the currently displayed columns, or use JSONL to export All Columns. +- Click **Export Data** to select your format, pick whether to export only the currently displayed columns or all columns, and choose the number of rows. + - **Note:** Use either format to export the currently displayed columns, or use JSONL to export All Columns. - Depending on the size, the file will either download directly or be sent to you via email. ### Query Volumes + When the number of logs returned by a query is too high, there are a couple of changes to the logs explorer functionality. To reduce query volumes, consider [filtering logs](/concepts/data-management/filtering/#logs-filtering) or refining your [search query](/concepts/search/) with more specific criteria. - - Auto-refresh will be disabled. - - Data shown in the chart will be extrapolated from a sampled amount of the complete dataset. - - ![Extrapolated logs =600x](./img/ExtrapolatedLogs.png) - - When doing very specific queries, like looking for a particular line of code that is causing an issue, you may see a message that says "No logs found yet". This happens when the dataset is very large, and Sentry needs to batch the results. You can continue scanning to see the next batch of logs by clicking "Continue Scanning". - - ![Continue scanning message =1000x](./img/ContinueScanning.png) + +- Auto-refresh will be disabled. +- Data shown in the chart will be extrapolated from a sampled amount of the complete dataset. + +![Extrapolated logs =600x](./img/ExtrapolatedLogs.png) + +When doing very specific queries, like looking for a particular line of code that is causing an issue, you may see a message that says "No logs found yet". This happens when the dataset is very large, and Sentry needs to batch the results. You can continue scanning to see the next batch of logs by clicking "Continue Scanning". + +![Continue scanning message =1000x](./img/ContinueScanning.png) ## Trace-Connected Debugging Flow @@ -122,13 +122,12 @@ Instead of jumping between different tools and trying to correlate timestamps, t ## Log-based Alerts and Dashboard widgets -You can create [Alert rules](/product/monitors-and-alerts/alerts/) and [dashboard widgets](/product/dashboards/widget-builder/) based on your log queries. +You can create [Alerts](/product/monitors-and-alerts/alerts/) and [dashboard widgets](/product/dashboards/widget-builder/) based on your log queries. Learn more about [Alerts](/product/monitors-and-alerts/alerts/) and [custom dashboards](/product/dashboards/custom-dashboards/). ![Log Queries](./img/LogQueries.png) - ## AI-Powered Log Analysis Your Sentry logs can be leveraged with AI agents and tooling for debugging, summarizing, and automated analysis. diff --git a/docs/product/metrics/index.mdx b/docs/product/metrics/index.mdx index 744bfd7e21960..0b0828dad1600 100644 --- a/docs/product/metrics/index.mdx +++ b/docs/product/metrics/index.mdx @@ -155,7 +155,7 @@ Application Metrics debugging workflow: 4. **Find the cause**: Examine spans for slow queries, check logs for error messages, view related exceptions 5. **Fix the issue**: With full context in hand, identify and resolve the root cause -Instead of "metric alert → guesswork," debugging becomes a **single flow**: Metric spike → sample → trace → root cause. +Instead of "alert → guesswork," debugging becomes a **single flow**: Metric spike → sample → trace → root cause. ### When a Sample Doesn't Have a Trace diff --git a/docs/product/monitors-and-alerts/monitors/uptime-monitoring/img/uptime-issue-alert-rule.png b/docs/product/monitors-and-alerts/monitors/uptime-monitoring/img/uptime-alert.png similarity index 100% rename from docs/product/monitors-and-alerts/monitors/uptime-monitoring/img/uptime-issue-alert-rule.png rename to docs/product/monitors-and-alerts/monitors/uptime-monitoring/img/uptime-alert.png diff --git a/docs/product/monitors-and-alerts/monitors/uptime-monitoring/index.mdx b/docs/product/monitors-and-alerts/monitors/uptime-monitoring/index.mdx index e547f426d4e00..dbeee465aebcb 100644 --- a/docs/product/monitors-and-alerts/monitors/uptime-monitoring/index.mdx +++ b/docs/product/monitors-and-alerts/monitors/uptime-monitoring/index.mdx @@ -88,14 +88,16 @@ Uptime checks include spans called _uptime request spans_ that Sentry automatica - Enhanced debugging: You can see more details about exactly where and why the failure occurred to distinguish between uptime-related issues and other application problems -Uptime request spans are free and will not count against your [span quota](/pricing/quotas/manage-transaction-quota/). These spans are always created, even if you have sampling disabled. + Uptime request spans are free and will not count against your [span + quota](/pricing/quotas/manage-transaction-quota/). These spans are always created, even if you + have sampling disabled. ## Notifications To start getting notifications for a new downtime issue, [configure an Alert](/product/monitors-and-alerts/alerts/#creating-an-alert) that matches outage / downtime issues and add actions for email, Slack, on-call tools, or other integrations. -![Uptime issue alert rule configuration](./img/uptime-issue-alert-rule.png) +![Uptime alert configuration](./img/uptime-alert.png) ## Learn More About Uptime Monitoring diff --git a/docs/product/monitors-and-alerts/monitors/uptime-monitoring/troubleshooting.mdx b/docs/product/monitors-and-alerts/monitors/uptime-monitoring/troubleshooting.mdx index be78784b42082..7bd8b81dec316 100644 --- a/docs/product/monitors-and-alerts/monitors/uptime-monitoring/troubleshooting.mdx +++ b/docs/product/monitors-and-alerts/monitors/uptime-monitoring/troubleshooting.mdx @@ -22,6 +22,6 @@ SentryUptimeBot/1.0 (+https://docs.sentry.io/product/monitors-and-alerts/monitor See [IP Ranges](/security-legal-pii/security/ip-ranges/#uptime-monitoring) for a complete list of IP addresses used for uptime checks. -## Verify That Issue Alerts Match Downtime Issues +## Verify That Alerts Match Downtime Issues Uptime monitors create downtime issues. If you're not receiving notifications when downtimes are detected, make sure you've [configured an Alert](/product/monitors-and-alerts/alerts/#creating-an-alert) whose sources and filters match those issues, with actions for the channels you expect. diff --git a/docs/product/notifications/notification-settings.mdx b/docs/product/notifications/notification-settings.mdx index 47079ae156c5a..30151910c56ca 100644 --- a/docs/product/notifications/notification-settings.mdx +++ b/docs/product/notifications/notification-settings.mdx @@ -5,13 +5,13 @@ description: Learn how to manage your personal notifications settings. og_image: /og-images/product-alerts-notifications-notification-settings.png --- -You can update your personal notification settings for things like [workflow](/product/notifications/), deploy, issue alert, and [spike protection](/pricing/quotas/spike-protection/) by turning them on or off, specifying how you'd like to be notified (via email, Slack, or both), and more. Users who **aren't** on an [Enterprise](https://sentry.io/pricing/) plan can also configure their quota notifications. +You can update your personal notification settings for things like [workflow](/product/notifications/), deploy, alert, and [spike protection](/pricing/quotas/spike-protection/) by turning them on or off, specifying how you'd like to be notified (via email, Slack, or both), and more. Users who **aren't** on an [Enterprise](https://sentry.io/pricing/) plan can also configure their quota notifications. -![Issue alert notification page](./img/issue-alert-notification.png) +![Alert notification page](./img/issue-alert-notification.png) To make updates, go to your [user settings](https://sentry.io/settings/account/notifications/), select "Notifications", then click on the notification type you want to update. -![Issue alert notification detail page](./img/issue-alert-notification-detail.png) +![Alert notification detail page](./img/issue-alert-notification-detail.png) ## How to Subscribe to an Issue @@ -30,7 +30,7 @@ These notifications may have some overlap with [alerts](/product/monitors-and-al Here's a list of all the personal notification types you can update: -- **Issue Alerts:** Notifications sent from alert rules that your team's set up. (You'll still get any notifications that have been set up to be sent directly to you.) +- **Alerts:** Notifications sent from alerts that your team's set up. (You'll still get any notifications that have been set up to be sent directly to you.) - **Issue Workflow:** Changes in issue assignment, resolution status, and comments. - **Deploys:** Release, environment, and commit overviews. - **Nudges:** Notifications that require review or approval. diff --git a/docs/product/sentry-basics/index.mdx b/docs/product/sentry-basics/index.mdx index 4fd344cee44cd..bd4e65b4fb2ad 100644 --- a/docs/product/sentry-basics/index.mdx +++ b/docs/product/sentry-basics/index.mdx @@ -23,8 +23,7 @@ Set up your [GitHub](/integrations/source-code-mgmt/github/), [GitLab](/integrat Alerts make sure the right people know when things go wrong. Sentry supports: -- **[Issue alerts](/product/monitors-and-alerts/alerts/)** — notify on new errors, regressions, or error spikes -- **[Metric alerts](/product/monitors-and-alerts/alerts/)** — trigger on thresholds like error rate, latency, or crash-free session rate +- **[Alerts](/product/monitors-and-alerts/alerts/)** — notify on new errors, regressions, error spikes, or when thresholds like error rate, latency and crash-free session rate are crossed - **[Uptime monitors](/product/monitors-and-alerts/monitors/uptime-monitoring/)** — watch your endpoints for downtime - **[Cron monitors](/product/monitors-and-alerts/monitors/crons/)** — track scheduled jobs for failures or missed runs @@ -34,16 +33,16 @@ Route alerts to [Slack](/integrations/notification-incidents/slack/), [Discord]( After basic error monitoring, these features add the debugging context that will help you find and fix problems faster: -| Feature | What it adds | Set up | -|---|---|---| -| **[Tracing](/product/trace-explorer/)** | Follow requests across services, find slow queries and N+1s | Enable `tracesSampleRate` in SDK config | -| **[Logs](/product/logs/)** | Structured logs alongside errors and traces | Enable `enableLogs: true` in SDK config — [set up guide](/product/logs/getting-started/) | -| **[Session Replay](/product/session-replay/)** | Video-like recordings of user sessions (web and mobile) | Enable replay in SDK config | -| **[Profiling](/product/profiling/)** | CPU profiles showing which functions are slow | Enable profiling in SDK config | -| **[Application Metrics](/product/metrics/)** | Custom counters, gauges, distributions | Add metric calls to your code | -| **[User Feedback](/product/user-feedback/)** | Collect bug reports from users, linked to errors | Add the feedback widget | +| Feature | What it adds | Set up | +| ---------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| **[Tracing](/product/trace-explorer/)** | Follow requests across services, find slow queries and N+1s | Enable `tracesSampleRate` in SDK config | +| **[Logs](/product/logs/)** | Structured logs alongside errors and traces | Enable `enableLogs: true` in SDK config — [set up guide](/product/logs/getting-started/) | +| **[Session Replay](/product/session-replay/)** | Video-like recordings of user sessions (web and mobile) | Enable replay in SDK config | +| **[Profiling](/product/profiling/)** | CPU profiles showing which functions are slow | Enable profiling in SDK config | +| **[Application Metrics](/product/metrics/)** | Custom counters, gauges, distributions | Add metric calls to your code | +| **[User Feedback](/product/user-feedback/)** | Collect bug reports from users, linked to errors | Add the feedback widget | -Check out Sentry's [cookbooks](https://sentry.io/cookbook/) to learn more about how others use Sentry, and how to go deeper with each of Sentry's tools. +Check out Sentry's [cookbooks](https://sentry.io/cookbook/) to learn more about how others use Sentry, and how to go deeper with each of Sentry's tools. ## Step 4: Explore Your Data @@ -56,7 +55,9 @@ Once data is flowing, use these tools to understand your application's health: ## Learn More ### Practical Guides + Our **[Guides](/guides/)** cover real-world patterns for each feature: + - [What to Prioritize](/guides/issues-errors/) — error handling and triage strategies - [What to Log](/guides/logs/) — structured logging patterns - [What to Track](/guides/metrics/) — choosing the right metrics @@ -65,12 +66,15 @@ Our **[Guides](/guides/)** cover real-world patterns for each feature: - [Using Session Replay](/guides/session-replay/) — debugging workflows with replays ### Cookbook + The **[Sentry Cookbook](https://sentry.io/cookbook/)** has step-by-step recipes for common workflows, including debugging with MCP + Cursor, setting up AI observability, creating dashboards with AI agents, and more. ### Interactive Resources + - **[Sandbox](https://sandbox.sentry.io/)** — explore Sentry with pre-populated sample data ### Tutorials + Follow along with a sample app to set up error monitoring or distributed tracing end-to-end: diff --git a/docs/product/sentry-basics/integrate-backend/capturing-errors.mdx b/docs/product/sentry-basics/integrate-backend/capturing-errors.mdx index 1b0e77f9e9be9..299fac2c96712 100644 --- a/docs/product/sentry-basics/integrate-backend/capturing-errors.mdx +++ b/docs/product/sentry-basics/integrate-backend/capturing-errors.mdx @@ -7,7 +7,7 @@ description: >- og_image: /og-images/product-sentry-basics-integrate-backend-capturing-errors.png --- -Once initialized in your code, the Sentry SDK will capture errors and various types of events to notify you about them in real-time, depending on the alert rules you've configured. With the Django app already running on your [localhost](http://localhost:8000/), let's try them out. +Once initialized in your code, the Sentry SDK will capture errors and various types of events to notify you about them in real-time, depending on the alerts you've configured. With the Django app already running on your [localhost](http://localhost:8000/), let's try them out. @@ -25,18 +25,17 @@ To trigger an unhandled error: 2. Point your browser to `http://localhost:8000/unhandled`. -2. If you've set up an [alert rule](/product/monitors-and-alerts/alerts/), you should be notified about the error. Otherwise, open the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page in your Sentry account. +3. If you've set up an [alert](/product/monitors-and-alerts/alerts/), you should be notified about the error. Otherwise, open the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page in your Sentry account. -3. You should see the unhandled exception in the list of issues. +4. You should see the unhandled exception in the list of issues. ![Unhandled Issue](./img/unhandled_issue.png) -4. Click on the issue, to open the **Issue Details** page. +5. Click on the issue, to open the **Issue Details** page. ![Issue Details Page](./img/error_with_all_tags.png) -5. Notice that the event: - +6. Notice that the event: - Is tagged with the `environment` and `release` options we've set in the previous tutorial with the tag `handled:no`, marking this event as an unhandled error. - Contains a suspect commit, made possible because of the commit-tracking feature we enabled earlier. - Contains the custom breadcrumb we added through the SDK. @@ -94,11 +93,13 @@ Typically, `capture_message` is not emitted, but there are times when a develope 3. To try it out on your localhost, trigger the following endpoint: `http://localhost:8000/message`. 4. As before, open the new issue’s detail page from the **Issues** page. + - You'll need to remove the `"issue.priority is high or medium"` filter from the "Custom Search" field on the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page to see all the issue types in the list. + You'll need to remove the `"issue.priority is high or medium"` filter from the "Custom Search" + field on the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page to + see all the issue types in the list. - ![Import and Configure SDK](./img/capture_message.png) > By default, captured messages are marked with a severity level tag `level:info`, as reflected in the tags section. However, the `capture_message` methods accept an **optional** severity level parameter. @@ -136,7 +137,6 @@ To enrich the data of the message events we've captured with `capture_message`: 4. Open the issue’s detail page from the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page. 5. Notice that: - - The **user email** is now displayed on the details page and the number of unique users impacted by this event is reflected in the issue's header. - The **custom tag** is now available (and searchable) in the list of tags. ![Enriched Event Data](./img/enriched_data_1.png) diff --git a/docs/product/sentry-basics/user-feedback-basics.mdx b/docs/product/sentry-basics/user-feedback-basics.mdx index 355832ab5457c..c63f76a475513 100644 --- a/docs/product/sentry-basics/user-feedback-basics.mdx +++ b/docs/product/sentry-basics/user-feedback-basics.mdx @@ -14,6 +14,7 @@ If you treat user feedback as a core signal in product development, especially f This 4-step guide will walk you through implementing and instrumenting User Feedback for your application. ## 1. Embed the Widget Contextually + Bring the widget to the user; instead of making them find it. Embed the feedback widget directly into experimental or high-impact feature areas. For example, on your checkout screen: @@ -53,6 +54,7 @@ function FeedbackButton() { ``` ## 2. Customize Placeholder Text + Personalized prompts lead to better feedback. Tailor the placeholder text to the feature's context. You can customize the text prompt shown to users in the feedback form. The configuration option varies by platform. It's commonly `messagePlaceholder` for frontend SDKs or `labelComments` for backend crash-report modals. @@ -62,7 +64,7 @@ You can customize the text prompt shown to users in the feedback form. The confi ```javascript const form = await feedback.createForm({ - messagePlaceholder: 'How was your experience with checkout?', + messagePlaceholder: "How was your experience with checkout?", }); ``` @@ -78,27 +80,25 @@ Here are examples of placeholder text to guide users: It's best to customize your prompts to be specific and clear; this will guide the user to provide useful input. Use friendly language to encourage honest, casual feedback. - ## 3. Add Custom Tags to Feedback Submissions For Better Routing If you have multiple feedback buttons in your application that are embedded into different features, tags are critical in order to enable faster alert routing and triaging to the right teams. You can auto-apply tags based on the widget’s placement. For example, use a custom tag like `feedback.source:checkout`. This allows for routing in Slack and filtering in dashboards. We recommend you define and standardize tags using a single key, such as `feedback.source`. - ## 4. Set Up Alerts to Relevant Channels + Feedback is only useful if seen by the right folks. You can send User Feedback directly into the appropriate team’s channel—whether you use Slack, Microsoft Teams, or Discord (see [complete list of integrations](/integrations/)). For example, you can tag feedback `feedback.source:checkout` and always have it go to your `#proj-billing` channel in Slack. With this workflow, engineers see feedback in near-real time and take ownership. Follow the steps below to set up feedback alerts to relevant channels: -1. Create a [New Alert Rule](https://sentry.io/alerts/new/issue/) in Sentry. +1. Create a [New Alert](https://sentry.io/alerts/new/issue/) in Sentry. 2. Scroll to the "Set conditions" section and set the "IF" filter to `The issue's category is equal to… "Feedback"` and `The event's tags match... [your custom tag]`. 3. In the “THEN” filter, select `Send a [your integration] notification` and then add details of the channel you'd like to send the feedback to. You can also add tags you’d like to see on the feedback alert. For example, `user.email`. 4. Add an alert name and owner. - ![Feedback alert conditions =700x](feedback-img/img/feedback-alert-conditions.png) Once set up, here's what an example alert looks like: @@ -118,6 +118,7 @@ The examples and customizations below are available for platforms that support t One approach you can take is using thumbs up/down buttons placed contextually within the feature that will trigger the feedback form to open. You can track whether a user clicked on the 👍 or 👎 for each feedback with [custom tags](/platforms/javascript/enriching-events/tags/). The tag will appear on the User Feedback Details page, and optionally on the feedback alert itself after feedback is submitted. **Customizations for Thumbs Up/Down Buttons:** + - Use different `messagePlaceholder` text for positive vs. negative feedback ("What did you like most?" vs. "How can we improve?") - Add custom tags like `feedback.type:positive` or `feedback.type:negative` to easily filter sentiment - Customize `successMessageText` to encourage specific actions ("Thanks! Want to share more?" or "Thanks for helping us improve!") @@ -189,6 +190,7 @@ export default function ThumbsUpDownButtons({source}: {source: string}) { When rolling out a new or experimental feature, add a feedback button directly within the feature UI. Use custom tags to identify which beta feature the feedback relates to, making it easy to aggregate insights and track feedback trends over time. **Customizations for Beta Feedback:** + - Enable screenshots (`enableScreenshot: true`) so users can show specific UI issues or suggestions - Auto-populate user info (`useSentryUser`) to reduce friction for logged-in users - Customize the button label (`triggerLabel: "Give Feedback on [Feature Name]"`) to be feature-specific @@ -203,6 +205,7 @@ Add a "Give Feedback" button or link within your beta feature's interface, tagge Trigger a feedback prompt after users complete critical actions like checkout, sign-up, or onboarding. This captures their immediate experience while it's fresh in their minds. Use tags to differentiate between transaction types. **Customizations for Post-Transaction Feedback:** + - Customize `formTitle` and `messagePlaceholder` to match the transaction ("How was checkout?" vs. "How was sign-up?") - Set `isEmailRequired: true` for post-transaction feedback so you can follow up on issues - Use `successMessageText` to reinforce the completed action ("Thanks! Your order is on its way") @@ -212,6 +215,4 @@ Trigger a feedback prompt after users complete critical actions like checkout, s **Example implementation:** After a successful checkout, display a subtle feedback prompt asking "How was your checkout experience?" Tag it with `feedback.source:checkout` and `feedback.type:post-transaction` to route it to your billing or checkout team. - - diff --git a/docs/product/stats/index.mdx b/docs/product/stats/index.mdx index 7769aee2f6bef..67a2f969910b4 100644 --- a/docs/product/stats/index.mdx +++ b/docs/product/stats/index.mdx @@ -15,16 +15,13 @@ The [**Stats**](https://sentry.io/orgredirect/organizations/:orgslug/stats/) pag With the dropdowns at the top of the page, you can set whether the page displays stats for errors, transactions, or attachments, as well as the date range. With the date selector, the time period can be set from an hour to a maximum of 90 days, and all of the page elements change dynamically when you update this setting. - This page does not include data about sessions because they are not a billable - event type. + This page does not include data about sessions because they are not a billable event type. - There are three tabs available on the page: [Usage](#usage-stats), [Issues](#issue-stats), and [Health](#health-stats). The "Usage" tab shows your organization’s event and attachments usage, while also providing a high-level overview of how different projects are using Sentry. The "Issues" tab shows a breakdown of the issues assigned to your team and how they triaged them, while the "Health" tab provides an overview of your team’s project health. - ## Usage Stats The "Usage" tab provides an overview of the events (errors and transactions) and attachments that Sentry has received across your entire organization. It includes a detailed breakdown of each project's consumption categorized as _Accepted_, _Filtered_, _Rate Limited_, _Invalid_ or _Client Discard_. @@ -53,9 +50,10 @@ Filtered events and attachments intentionally excluded based on defined settings For more details, please consult the [Inbound Filters](/concepts/data-management/filtering/) documentation. ### Rate Limited + Events and attachments discarded due to rate limits or quota. The following reasons are currently defined: -- **Disabled**: Data was received for a feature or function that is not available to your organization. +- **Disabled**: Data was received for a feature or function that is not available to your organization. - **DSN Limit**: Traffic exceeded a rate limit defined on the client key (DSN). See [Rate Limits](/pricing/quotas/#rate-limits) for more information. - **Global Limit**: Traffic exceeded an organization-wider or project-wide rate limit. This setting is no longer available to most organizations. - **Quota**: The monthly quota of your subscription was depleted and there is no pay-as-you-go budget left. See [Adjusting your Quota](/pricing/quotas/#adjusting-your-quota) for more information. @@ -63,6 +61,7 @@ Events and attachments discarded due to rate limits or quota. The following reas - **Internal Limit**: A rate limit for excessive volume was enforced by Sentry. These limits are not configurable. ### Invalid + Events and attachments might be discarded if they don't match the expected format or contain data that can't be processed. The following reasons are currently defined: - **Disallowed Domain**: A request from an unallowed origin was sent to Sentry. Check project settings to configure allowed domains. @@ -80,6 +79,7 @@ Events and attachments might be discarded if they don't match the expected forma - **Internal**: An internal problem at Sentry prevented regular processing or storage of the submitted information. ### Client Discard + Events and attachments discarded by the SDK. The following reasons are currently defined: - **Queue Overflow**: An SDK internal queue (for example, a transport queue) overflowed. @@ -149,7 +149,7 @@ The "Time to Resolution" chart shows the mean time it took for issues to be reso -The "Health" tab shows information about the overall health of your projects; the crash free sessions, user misery of your team’s key transactions, the number of alerts triggered by your team’s alert rules, and the number of releases per project. +The "Health" tab shows information about the overall health of your projects; the crash free sessions, user misery of your team’s key transactions, the number of alerts triggered by your team’s alerts, and the number of releases per project. ![The Health Stats page](./img/health-stats.png) @@ -161,9 +161,9 @@ The "Crash Free Sessions" table shows the percentage of sessions that didn’t c The "User Misery" table shows transactions where users experienced load times four times the project’s configured threshold, with the number of unique users for each of those transactions. -#### Metric Alerts Triggered +#### Alerts Triggered -The "Metric Alerts Triggered" chart and table show alert rules that have been triggered for the projects your team owns. +The "Alerts Triggered" chart and table show alerts that have been triggered for the projects your team owns. #### Number of Releases diff --git a/docs/product/user-feedback/index.mdx b/docs/product/user-feedback/index.mdx index 7df38e4992dc6..d2fe8dac68dda 100644 --- a/docs/product/user-feedback/index.mdx +++ b/docs/product/user-feedback/index.mdx @@ -24,7 +24,7 @@ Feedback collected via the Feedback Widget may have some or all of the following - Screenshot from the user - User email - Associated replay event (with up to 60 seconds of replay recording before the user submitted the feedback) - - Learn more about how to set up Session Replay [here](/product/session-replay/). + - Learn more about how to set up Session Replay [here](/product/session-replay/). - URL of the page the user was on when they submitted the feedback - Tags @@ -61,9 +61,7 @@ Sentry now provides **AI-powered user feedback summaries** that automatically an At the top of the User Feedback index, you'll see a summary highlighting your users' most common sentiments across the project(s) and date range you've selected. The summary provides a concise overview of what users are saying about your product. The summary also provides AI-generated categories that you can click to filter the feedback. The filtered list will then show contextually relevant feedback; for example, feedback related to your app's "performance". -
-![AI User Feedback Summary.](./img/ai-feedback-summary.png) -
+
![AI User Feedback Summary.](./img/ai-feedback-summary.png)
## Triaging User Feedback Submissions @@ -87,7 +85,6 @@ The modal will be populated with a default title ("User Feedback") and descripti To create the issue, simply click the "Create Issue" button at the bottom of the modal. To link an existing issue, click on the "Link" tab in the modal, and then click "Link Issue". - ## Searching for User Feedback You can search by feedbacks using the search box. It can, for example, allow you to search by feedback sent on a specific page. @@ -97,21 +94,20 @@ Example search: `url:*/payments/*` For a list of search fields, refer to the [search documentation](/concepts/search/searchable-properties/user-feedback/). ## Spam Detection for User Feedback -If your organization has enabled Generative AI Features, Sentry will auto-detect user feedback submissions that are likely to be spam and put them in the “Spam” folder on the **User Feedback** page. This improves the quality and actionability of the feedback that are in the main list. To improve the quality of your alerts, feedback that's labeled as spam will bypass any User Feedback Alert Rules you may have configured, and you will not receive alerts for spam. + +If your organization has enabled Generative AI Features, Sentry will auto-detect user feedback submissions that are likely to be spam and put them in the “Spam” folder on the **User Feedback** page. This improves the quality and actionability of the feedback that are in the main list. To improve the quality of your alerts, feedback that's labeled as spam will bypass any User Feedback Alerts you may have configured, and you will not receive alerts for spam. To make automatic spam detection possible, we use a Large Language Model that classifies messages. This language model is internal to Google Cloud Platform and no data is stored or persisted. This is part of our existing [sub-processor agreement](https://sentry.io/legal/dpa/#subprocessors). If you'd like to opt out of spam detection, turn off "Enable Spam Detection" in [Settings](https://sentry.io/orgredirect/organizations/:orgslug/settings/) > Projects > [Project Name] > User Feedback (under “Project”). - - ## Getting User Feedback Alerts -If you have Sentry's default issue alert ("Alert me on every new issue") turned on for the project(s) with user feedback set up, then you should automatically get alerted every time new user feedback comes in via the User Feedback Widget. +If you have Sentry's default alert ("Alert me on every new issue") turned on for the project(s) with user feedback set up, then you should automatically get alerted every time new user feedback comes in via the User Feedback Widget. -If you don't have Sentry's default issue alert turned on, follow these steps to set up alerts for every new feedback: +If you don't have Sentry's default alert turned on, follow these steps to set up alerts for every new feedback: -1. Create a [New Alert Rule](https://sentry.io/alerts/new/issue/) in Sentry. +1. Create a [New Alert](https://sentry.io/alerts/new/issue/) in Sentry. 2. Scroll to the "Set conditions" section and set the "IF" filter to `The issue's category is equal to… "Feedback"`. 3. Choose which actions to perform in the “THEN” filter. 4. Add an alert name and owner. @@ -122,11 +118,11 @@ To get notifications when crash-report feedback comes in, make sure to turn on " ## Automated Issue Creation for User Feedback -If you'd like to automatically create an external issue (such as a GitHub or Jira issue) every time you receive user feedback, you can do so through the Alerts page in Sentry, similar to how you would create an issue alert for user feedback (illustrated in the section above). +If you'd like to automatically create an external issue (such as a GitHub or Jira issue) every time you receive user feedback, you can do so through the Alerts page in Sentry, similar to how you would create an alert for user feedback (illustrated in the section above). Follow these steps to set up automated GitHub or Jira issue creation for every new feedback: -1. Create a [New Alert Rule](https://sentry.io/alerts/new/issue/) in Sentry. +1. Create a [New Alert](https://sentry.io/alerts/new/issue/) in Sentry. 2. Scroll to the "Set conditions" section and set the "IF" filter to `The issue's category is equal to… "Feedback"`. 3. Under the "THEN" filter actions, scroll to the "Create new..." section and select the integration you'd like to use. 4. Default issue link settings, such as the repository, labels, and assignees, can be configured by clicking the "Issue Link Settings" button. @@ -134,4 +130,4 @@ Follow these steps to set up automated GitHub or Jira issue creation for every n Once this alert is configured, you should see a GitHub or Jira issue automatically created every time user feedback is submitted. -![User Feedback Auto Issue Alert Configuration.](./img/user-feedback-auto-issue-creation-configuration.png) +![User Feedback Auto Alert Configuration.](./img/user-feedback-auto-issue-creation-configuration.png) diff --git a/middleware.ts b/middleware.ts index 4d5b72c6c5a22..8cf67f8543901 100644 --- a/middleware.ts +++ b/middleware.ts @@ -4408,6 +4408,10 @@ const DEVELOPER_DOCS_REDIRECTS: Redirect[] = [ from: '/sdk/data-model/event-payloads/user/', to: '/sdk/foundations/envelopes/event-payloads/user/', }, + { + from: '/integrations/integration-platform/ui-components/alert-rule-action/', + to: '/integrations/integration-platform/ui-components/alert-action/', + }, ]; const redirectMap = new Map(