Email is a bad place for “the backup never ran.”
You get the Down ping, maybe a Slack message, then it scrolls off. The job that failed is sitting next to a GitHub repo or a Linear team. That is where someone actually closes work.
Gonewatch now opens a ticket when a monitor misses its window — GitHub Issues or Linear — instead of only sending chat.
Chat vs ticket
Slack, Discord, and Telegram are “look at this.” A ticket is “this is work.”
Same heartbeat as before: the job POSTs when it succeeds. If the window is missed, Gonewatch marks the monitor Down. With tickets on:
-
Down opens one issue (
Down · nightly-backup), labeledgonewatch. Body has the schedule, last heartbeat, and a link to the monitor. JSON payloads stay on the dashboard — they are not dumped into the ticket. - Reminders comment on that same issue. If you closed it while the job is still Down, Gonewatch reopens it (GitHub) or moves it back to an open state (Linear) and comments.
- Recovery comments that it is Up, closes it (GitHub) or marks it Done (Linear), and stops tracking it. The next miss opens a new issue.
Reminders do not spam a new ticket every hour.
GitHub Issues vs the heartbeat Action
Two different GitHub pieces:
-
gonewatch/heartbeat@v1— last step of a workflow. POSTs that the job ran. - GitHub App on Account — opens Issues in one repo when a monitor is Down. Issues write + metadata read. It does not read your code.
You can use both. The Action is the ping. The App is the ticket.
Linear is the same ticket loop in one team. Issues are created as the Gonewatch app, in that team’s first Todo state so they show under Active.
Setup
GitHub
- Gonewatch → Account → Connect GitHub.
- Install the app on one repository.
- Check connection (this does not open a test issue).
- Edit the monitor → enable GitHub Issues.
Linear
- Account → Connect Linear → approve the app.
- Pick one team.
- Check connection.
- Enable Linear on the monitor.
Connecting does not turn tickets on for monitors you already have. One repo / one team per Gonewatch account. GitHub and Linear will not email you unless you already watch that repo or team.
Free is still email only. Tickets are Basic and Pro, same as Slack.
A backup that files its own bug
- name: Gonewatch heartbeat
if: success()
uses: gonewatch/heartbeat@v1
with:
url: ${{ secrets.GONEWATCH_URL }}
If tonight’s workflow never reaches that step, there is no ping, the monitor goes Down, and you get Down · production-db-backup in the repo (or LIN-123 in the team) instead of hoping someone saw the email.
Docs: GitHub Issues and Linear tickets. Product: gonewatch.com.
Top comments (0)