SentryExecution
SentryExecution
type: "io.kestra.plugin.notifications.sentry.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
.
Examples
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.ExecutionStatusCondition
in:
- FAILED
- WARNING
- type: io.kestra.plugin.core.condition.ExecutionNamespaceCondition
namespace: prod
prefix: true
Properties
dsn
- Type: string
- Dynamic: ✔️
- Required: ✔️
- Min length:
1
Sentry DSN
eventId
- Type: string
- Dynamic: ✔️
- Required: ✔️
- 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.
platform
- Type: string
- Dynamic: ✔️
- Required: ✔️
- Default:
JAVA
- Possible Values:
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.
customFields
- Type: object
- Dynamic: ✔️
- Required: ❌
Custom fields to be added on notification
customMessage
- Type: string
- Dynamic: ✔️
- Required: ❌
Custom message to be added on notification
endpointType
- Type: string
- Dynamic: ✔️
- Required: ❌
- Default:
ENVELOPE
- Possible Values:
ENVELOPE
STORE
Sentry endpoint type
errors
- Type: object
- Dynamic: ✔️
- Required: ❌
An arbitrary mapping of additional metadata to store with the event
executionId
- Type: string
- Dynamic: ✔️
- Required: ❌
- Default:
{{ execution.id }}
The execution id to use
Default is the current execution, change it to {{ trigger.executionId }} if you use this task with a Flow trigger to use the original execution.
extra
- Type: object
- Dynamic: ✔️
- Required: ❌
An arbitrary mapping of additional metadata to store with the event
level
- Type: string
- Dynamic: ✔️
- Required: ❌
- Default:
ERROR
- Possible Values:
FATAL
ERROR
WARNING
INFO
DEBUG
The record severity
Acceptable values are:
fatal
,error
,warning
,info
,debug
.
options
- Type: AbstractHttpOptionsTask-RequestOptions
- Dynamic: ✔️
- Required: ❌
Options
The options to set to customize the HTTP client
payload
- Type: string
- Dynamic: ✔️
- Required: ❌
Sentry event payload
serverName
- Type: string
- Dynamic: ✔️
- Required: ❌
Identifies the host from which the event was recorded
templateRenderMap
- Type: object
- Dynamic: ✔️
- Required: ❌
Map of variables to use for the message template
transaction
- Type: string
- Dynamic: ✔️
- Required: ❌
The name of the transaction which caused this alert
For example, in a web app, this might be the route name
Definitions
java.nio.charset.Charset
Properties
io.kestra.plugin.notifications.AbstractHttpOptionsTask-RequestOptions
Properties
connectTimeout
- Type:
- string
- string
- Dynamic: ✔️
- Required: ❌
connectionPoolIdleTimeout
- Type:
- string
- string
- Dynamic: ✔️
- Required: ❌
defaultCharset
- Type:
- Charset
- string
- Dynamic: ✔️
- Required: ❌
maxContentLength
- Type:
- integer
- string
- Dynamic: ✔️
- Required: ❌
readIdleTimeout
- Type:
- string
- string
- Dynamic: ✔️
- Required: ❌
readTimeout
- Type:
- string
- string
- Dynamic: ✔️
- Required: ❌
Was this page helpful?