Receive Uptime Kuma webhook notifications #40
No reviewers
Labels
No labels
breaking
bug
ci
dependencies
documentation
feature
security
skip-changelog
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
argus/backend!40
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/38-kuma-webhook"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #38
Monitoring plan, phase 4.3. Stacked on #39 (uses
apps.reports.ingest.store_custom_report): merge #39 first.Changes
POST /api/projects/<owner>/<repo>/ingest/uptime-kuma/(apps/reports/kuma.py), authenticated by an upload token (Authorization: Bearer …, set in Kuma's "Additional Headers"). Body = Kuma's default JSON webhook{heartbeat, monitor, msg}(checked againstserver/notification-providers/webhook.js).ref_kind=source,ref_value=kuma(or?source=),custom_type_name=uptime:<monitor name>(64 chars max). Heartbeat status 0 → fail, 2 → warn, 1 / 3 → ok; metrics state, message, target (URL / host / container), time. Noexpect_every: Kuma only notifies on changes.upload_target(), shared with the regular upload (behaviour unchanged).apps/reports/test_kuma.py.Checks
pytest (235 passed), pylint 10/10, autopep8, bandit clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_014BSmBtGWeFBD9z4mYm9SjA
POST /api/projects/<owner>/<repo>/ingest/uptime-kuma/ (upload token as Bearer): Kuma's "Webhook" notification ({heartbeat, monitor, msg}) becomes a format maison report, ref source=kuma (or ?source=), custom type uptime:<monitor>; down -> fail, pending -> warn, up/maintenance -> ok. Kuma's test notification is acknowledged without a report. The upload token check is shared with the regular upload (upload_target). Closes #38 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014BSmBtGWeFBD9z4mYm9SjA📊 Rapports Argus pour cette PR