Failure alerts for scripts, cron jobs and pipelines in Telegram, Discord and Pushover
Anything that can send an HTTP request can send an alert: a cron job that exited with an error, a backup that didn't finish, a failed deploy, a SQL Server Agent job, a stopped systemd service. One request with your project's API key and the text of the message, from Bash, PowerShell or any language.
Free plan · no package · your events are never stored
One request, no package
POST the text to https://api.bugsradar.com/api/v3/notify with the key in the X-Api-Key header. Optional query parameters add the level, a category such as the name of the job, the environment and the host.
curl -fsS -H "X-Api-Key: $BUGSRADAR_KEY" \
--data-binary "Hello from $(hostname)" \
https://api.bugsradar.com/api/v3/notify
Invoke-RestMethod -Method Post -Uri 'https://api.bugsradar.com/api/v3/notify' `
-Headers @{ 'X-Api-Key' = $env:BUGSRADAR_KEY } `
-ContentType 'text/plain; charset=utf-8' -Body "Hello from $env:COMPUTERNAME"
- The server answers
202at once; delivery to the channels goes on in the background. - Repeats are grouped: a job that fails once a night sends a full message every night, a job that fails every minute sends one message and counts the repeats in it.
- Numbers, ids, URLs and quoted values don't count when messages are compared, so a changing timestamp in the text doesn't make a new error.
- Nothing is stored: the message stays in memory only until it is delivered.
- With
curl -f, a script can tell whether the alert went out.
HTTP endpoint docs → · Ready-made guides →
Alert when something fails
A few lines to paste for each case, with the key kept in an environment variable or in the secrets of your CI system.
Cron
One line in crontab, or a small wrapper script for all your jobs. Cron guide →
systemd
OnFailure= with one template unit: a failed service or timer job arrives in the chat. systemd guide →
Windows Task Scheduler
PowerShell and command-line tasks that report their own failure, since Task Scheduler has no action for a failed task. Task Scheduler guide →
SQL Server Agent
An alert when a job fails, with the step that failed and its error, without Database Mail. SQL Server Agent guide →
Backups
pg_dump, mysqldump, rsync and robocopy scripts that report their own failure. Backups guide →
CI/CD pipelines
A failed build or deploy in GitHub Actions, GitLab CI/CD, Azure Pipelines or Jenkins: one step that runs only on failure. CI/CD guide →
Where the alerts go
Alerts go through your own Telegram bot, Discord webhook or Pushover application: you decide who reads the chat.
- Telegram - a private chat, a group or a channel, through the bot you create with @BotFather; repeats are counted in the first message, without a new notification.
- Discord - any text channel of your server, through a webhook; no bot to install, and the count of repeats is written into the first message too.
- Pushover - push notifications on your phone or desktop, for one person or a whole delivery group; repeats arrive as short summaries.
Coming with Business: Slack, Microsoft Teams, Google Chat and PagerDuty.
An alert when a script reports, not a watchdog
BugsRadar does one thing: it brings the failures your scripts report to your chat. It is honest about what it leaves to other tools.
- No heartbeat. BugsRadar tells you when a script reports a failure. It can't tell you that a script never ran at all; for that you need a heartbeat monitor.
- No history. Messages are never stored, so there is no archive to search. Keep your logs for that.
- No dashboard. There is no page that lists the alerts; the chat is the interface.
Questions developers ask
Do I need a package?
No. One HTTP request with curl, Invoke-RestMethod or the HTTP client of any language is enough: PHP, Go, Ruby, Java, anything that runs on your servers.
What if the job fails every minute?
The first failure arrives in full; the next ones are counted in that message (in Pushover they arrive as summaries): the first time 10 minutes later, then after 30 minutes, an hour, and every 6 hours while they continue.
How long does the request take?
The server answers 202 as soon as it has the message; delivery goes on in the background. The guides pass --max-time to curl so that a script never hangs on the alert.
Where does the key go?
In an environment variable or in the secrets of your CI system, never in a script that goes into a repository. A key written in a SQL Server Agent step is visible to everyone who can open the job.
Does BugsRadar store the messages?
No. A message stays in memory only until it is delivered to your channels; nothing is written to a database.
Pricing
Plans differ by features, not by volume: no event quotas and no per-seat fees on any plan. Free is 2 projects and 3 channels, Telegram, Discord and Pushover, every package and the HTTP endpoint, duplicate filtering and a live count of repeats. Pro, $5 per month or $50 per year, adds unlimited projects and channels and rules that route errors by level, module and environment. Compare the plans →
Your first alert from a script in a minute
Sign in with your email, create a project, paste one line.
Next: BugsRadar for Seq clients →