Source
id: failure-alert-zenduty
namespace: system
tasks:
- id: send_alert
type: io.kestra.plugin.notifications.zenduty.ZendutyExecution
url: https://www.zenduty.com/api/events/{{ secret('ZENDUTY_INTEGRATION_KEY') }}/
executionId: "{{ trigger.executionId }}"
triggers:
- id: on_failure
type: io.kestra.plugin.core.trigger.Flow
conditions:
- type: io.kestra.plugin.core.condition.ExecutionStatusCondition
in:
- FAILED
- WARNING
About this blueprint
System Notifications
This system flow will help you set up alerts for failed workflow executions. Using this pattern, you can manage alerts on failure in one place. This flow sends an alert to Zenduty whenever a flow execution fails.
Setup
The only required input is an integration key. The API integration will send an API call that follows the format:
bash curl -X POST https://www.zenduty.com/api/events/[integration-key]/ -H 'Content-Type: application/json' -d '{"alert_type":"critical", "message":"Some message", "summary":"some summary", "entity_id":"some_entity_id"}'
The message
and summary
parameters are required. The alert_type
parameter is the severity of the issue, including info
, warning
, error
, or critical
. The default value is error
.
The ZendutyExecution
task abstracts away raw API calls and only requires the integration key, which you can store as a Secret. Visit the Zenduty Events API documentation for more details.
Customization
You can further customize that system flow by modifying the ZendutyExecution
task, or by adding more tasks to the flow.
Restricting alerts using conditions
You can restrict the flow to only send alerts for specific namespaces by adding an ExecutionNamespaceCondition
to the trigger. You can read more about that in the Administrator Guide.
More Related Blueprints