Send a Sentry alert with the execution information.

The alert message will include a link to the execution page in the UI along with the execution ID, namespace, flow name, the start date, duration, and the final status of the execution. If failed, then the task that led to the failure is specified.

Use this notification task only in a flow that has a Flow trigger. Don't use this notification task in errors tasks. Instead, for errors tasks, use the SentryAlert task.

The only required input is a DSN string value, which you can find when you go to your Sentry project settings and go to the section Client Keys (DSN). For more detailed description of how to find your DSN, visit the following Sentry documentation.

You can customize the alert payload, which is a JSON object. For more information about the payload, check the Sentry Event Payloads documentation.

The level parameter is the severity of the issue. The task documentation lists all available options including DEBUG, INFO, WARNING, ERROR, FATAL. The default value is ERROR.

yaml
type: "io.kestra.plugin.notifications.sentry.SentryExecution"

This monitoring flow is triggered anytime a flow fails in the prod namespace. It then sends a Sentry alert with the execution information. You can fully customize the trigger conditions.

yaml
id: failure_alert
namespace: company.team

tasks:
  - id: send_alert
    type: io.kestra.plugin.notifications.sentry.SentryExecution
    transaction: "/execution/id/{{ trigger.executionId }}"
    dsn: "{{ secret('SENTRY_DSN') }}"
    level: ERROR
    executionId: "{{ trigger.executionId }}"

triggers:
  - id: failed_prod_workflows
    type: io.kestra.plugin.core.trigger.Flow
    conditions:
      - type: io.kestra.plugin.core.condition.ExecutionStatus
        in:
          - FAILED
          - WARNING
      - type: io.kestra.plugin.core.condition.ExecutionNamespace
        namespace: prod
        prefix: true
Properties
Min length 1

Sentry DSN

Custom fields to be added on notification

Custom message to be added on notification

Default ENVELOPE
Possible Values
ENVELOPESTORE

Sentry endpoint type

An arbitrary mapping of additional metadata to store with the event

Default a generated unique identifier
Validation RegExp [0-9a-f]{8}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{4}[0-9a-f]{12}

Hexadecimal string representing a uuid4 value. The length is exactly 32 characters. Dashes are not allowed. It has to be lowercase.

Default {{ execution.id }}

The execution id to use

Default is the current execution, change it to if you use this task with a Flow trigger to use the original execution.

An arbitrary mapping of additional metadata to store with the event

Default ERROR
Possible Values
FATALERRORWARNINGINFODEBUG

The record severity

Acceptable values are: fatal, error, warning, info, debug.

Options

The options to set to customize the HTTP client

Sentry event payload

Default JAVA
Possible Values
AS3CCFMLCOCOACSHARPELIXIRHASKELLGOGROOVYJAVAJAVASCRIPTNATIVENODEOBJCOTHERPERLPHPPYTHONRUBY

A string representing the platform the SDK is submitting from. This will be used by the Sentry interface to customize various components.

Identifies the host from which the event was recorded.

Map of variables to use for the message template

The name of the transaction which caused this alert.

For example, in a web app, this might be the route name

Format duration

The time allowed to establish a connection to the server before failing.

Default PT0S
Format duration

The time an idle connection can remain in the client's connection pool before being closed.

Default UTF-8

The default charset for the request.

SubType string

HTTP headers

HTTP headers to include in the request

Default 10485760

The maximum content length of the response.

Default PT5M
Format duration

The time allowed for a read connection to remain idle before closing it.

Default PT10S
Format duration

The maximum time allowed for reading data from the server before failing.