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.ExecutionStatus
in:
- FAILED
- WARNING
About this blueprint
Notifications Kestra System
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