Creating Service Hooks
Service hooks are defined at the account level by account administrators. To create a service hook:1
Click your avatar, then click Account settings.
2
Click Service Hooks from the left pane menu.
3
Click + new hook.
4
In the list, choose Webhook.
5
Enter webhook URL (HTTP or HTTPS).
6
Select the events you want to be notified about using this webhook:
- All Job Notifications: All events below.
- Job Submitted: Job was submitted by user or schedule for execution.
- Job Started: Job execution started.
- Job Stopped: Job stopped by user.
- Job Completed: Job completed successfully.
- Job Failed: Job completed with failure.
- All Cluster Notifications: All events below.
- Cluster Requested: Cluster creation requested by user or schedule.
- Cluster Available: Cluster is available and jobs can be run on it.
- Cluster Terminated: Cluster is terminated.
- Cluster Idled: No activity on the cluster for a specified interval.
- Cluster Error: Cluster error occurred and jobs can’t be executed on it.
- All Schedule Notifications: All events below.
- Schedule Created: Schedule was created.
- Schedule Activated: Schedule was enabled.
- Schedule Deactivated: Schedule was disabled.
- Schedule Deleted: Schedule was deleted.
- Schedule Skipped: A scheduled run was skipped and no job was created.
7
By default, the webhook is created active but you can disable it if you wish.
8
Click create webhook.
9
You can trigger a ping event to test the webhook.
Schedule Skipped notifications
The Schedule Skipped event (schedule.skipped) fires when a scheduled run does not start at all. No job is created in these cases, so job events such as Job Failed do not fire. Subscribe to this event if you need to know that a scheduled run silently did not happen.
The event fires in two cases:
- A previous run is still active and the schedule does not allow overlapping runs.
- The run could not start after all retry attempts. For example, no cluster was available, access was denied, or a subscription limit was reached.
last_run_status field, prefixed with Skipped:. The same field appears in schedule API responses and in the notification payload. For example:
last_run_status field is updated at each scheduled interval and resets on the next successful run.