-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
featureNew feature requestNew feature requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
Description
Summary
CronPulse currently supports Email, Slack, and generic Webhook notifications. Many DevOps teams and open-source communities use Discord as their primary communication platform. Adding a Discord notification channel would significantly broaden CronPulse's appeal.
Problem
Users who rely on Discord for team communication cannot receive cron job alerts directly in their Discord channels. They must set up a middleman webhook relay, which adds friction and complexity.
Expected Behavior / Deliverable
- A new "Discord" option in the notification channel settings.
- Users can paste a Discord Webhook URL (e.g.
https://discord.com/api/webhooks/...) and select which monitors trigger it. - Alerts are sent as rich Discord embeds with:
- Monitor name and status (UP / DOWN / Late / Failed)
- Timestamp
- Link back to the CronPulse dashboard
- Proper error handling when the webhook URL is invalid or Discord returns an error.
Implementation Hints
- Notification logic lives in:
src/routes/(API routes) and the notification service layer undersrc/. - Look at the existing Slack and Webhook notification implementations as a reference — Discord webhooks follow a very similar HTTP POST pattern.
- Discord webhook payload format: https://discord.com/developers/docs/resources/webhook#execute-webhook
- The embed object structure: https://discord.com/developers/docs/resources/message#embed-object
- No external library is needed — a simple
fetch()POST with the right JSON body will work on Cloudflare Workers.
Acceptance Criteria
- Discord channel type added to notification settings UI
- Webhook URL validation
- Rich embed alert messages sent on monitor state changes
- "Test notification" button works for Discord
- Unit/integration tests for the Discord notifier
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featureNew feature requestNew feature requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed