In Flashduty On-call
You can get the integration push URL in either of the following ways.
Use a dedicated integration
- In the Flashduty console, go to Channels and open a channel
- Select Configuration → Integrations → Private integration, then click Add an integration
- Select Cronicle and click Save
- Open the new integration card and copy the push URL
Use a shared integration
- In the Flashduty console, go to Integration Center → Alert Events
- Select Cronicle and enter an integration name
- Configure the default route and select a channel. You can add more rules under Routes after creation
- Click Save and copy the generated push URL
In Cronicle
1
Enter the web hook URL
Paste the complete Flashduty push URL in one of the following places:
- One event: in the Cronicle console, open Schedule, edit the event, and paste it into Web Hook URL in the Notification section
- One category: go to Admin → Categories, edit the category, and fill in its Web Hook URL. Every event in the category sends it
- Every event: set
universal_web_hookinconf/config.jsonand restart Cronicle
Cronicle sends an HTTP POST request (JSON) when a job starts and when it ends. Flashduty handles only job end (
job_complete) and launch failure (job_launch_failure); job start (job_start) notifications are acknowledged and ignored. To stop sending start notifications, remove the job_start entry from web_hook_text_templates.2
Verify the lifecycle
Run the event with a job that fails (for example, a script that exits with a non-zero code) and confirm Flashduty receives a Critical alert. Fix the script, run the event again, and confirm the alert closes automatically.
3
Turn on auto-close
An alert closes only when the next job of the same event succeeds. Events that are deleted, disabled, or no longer run never send a recovery notification. In the channel that receives these alerts, enable auto-close with a suggested duration of 24 hours.
Payload
Cronicle POSTs the following fields as JSON. Flashduty parses them directly, with no template to configure:
The body also contains the event parameters (
params) and the web hook URL (web_hook). Flashduty neither reads nor stores these two fields.
Alert Key
Flashduty uses
event (the event ID) as the Alert Key. Every job of the same event carries the same event, and only the job ID id changes per run, so failures, launch failures, and the later success of one event land on the same alert. Changing the event title, the exit code, or the server that ran the job does not change the Alert Key.
Status and severity
Cronicle notifications carry no severity, so a failed scheduled job is treated as Critical:
The Cronicle web hook has no test button. To check connectivity, run an event once.
FAQ
If a job has retries configured, do I get a notification for every failed attempt?
If a job has retries configured, do I get a notification for every failed attempt?
No. Cronicle sends
job_complete only when the job finally ends, after retries are used up. It sends nothing between retries.Are launch failures sent repeatedly?
Are launch failures sent repeatedly?
Yes. A scheduled event tries to launch again every minute, and while the target server is unavailable each attempt sends
job_launch_failure. These notifications carry the same Alert Key and merge into one alert, so they do not create multiple alerts.Can I send only some events?
Can I send only some events?
The Web Hook URL can be set on a single event or on a category, so fill it in only where you need it. You can also split traffic in the routing rules of a Flashduty shared integration, by label
event_id or check.Troubleshooting
- Cronicle does not send anything: confirm the Web Hook URL is the complete push URL including
integration_key, and setdebug_levelto 9 to seeWeb Hook ErrorandWeb Hook Responseentries in the Cronicle log - Flashduty returns a parameter error: confirm the body contains
actionandevent, and thatjob_completenotifications containcode - The alert does not recover: confirm a later job of the same event ended with
code0, and that the event has a Web Hook URL