SentryExecution
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, and (if failed) the task that led to a failure.
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
.
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.
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
YES
1
Sentry DSN
YES
JAVA
AS3
C
CFML
COCOA
CSHARP
ELIXIR
HASKELL
GO
GROOVY
JAVA
JAVASCRIPT
NATIVE
NODE
OBJC
OTHER
PERL
PHP
PYTHON
RUBY
A string representing the platform the SDK is submitting from. This will be used by the Sentry interface to customize various components.
YES
Custom fields to be added on notification
YES
Custom message to be added on notification
YES
ENVELOPE
ENVELOPE
STORE
Sentry endpoint type
YES
An arbitrary mapping of additional metadata to store with the event
YES
a generated unique identifier
[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.
YES
{{ 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.
YES
An arbitrary mapping of additional metadata to store with the event
YES
ERROR
FATAL
ERROR
WARNING
INFO
DEBUG
The record severity
Acceptable values are: fatal
, error
, warning
, info
, debug
.
YES
Options
The options to set to customize the HTTP client
YES
Sentry event payload
YES
Identifies the host from which the event was recorded
YES
Map of variables to use for the message template
YES
The name of the transaction which caused this alert
For example, in a web app, this might be the route name
YES
duration
The time allowed to establish a connection to the server before failing.
YES
PT0S
duration
The time an idle connection can remain in the client's connection pool before being closed.
YES
UTF-8
YES
10485760
YES
PT5M
duration
The time allowed for a read connection to remain idle before closing it.
YES
PT10S
duration
The maximum time allowed for reading data from the server before failing.