Skip to content

feat(dashboard): webhook rules status and test panel#83

Open
iceice400 wants to merge 2 commits into
KMX415:mainfrom
iceice400:feat/webhook-ui
Open

feat(dashboard): webhook rules status and test panel#83
iceice400 wants to merge 2 commits into
KMX415:mainfrom
iceice400:feat/webhook-ui

Conversation

@iceice400
Copy link
Copy Markdown
Contributor

Summary

  • GET /api/webhooks/status — rule list, last-fired timestamps, engine state (no full URLs)
  • POST /api/webhooks/test/{rule_name} — dummy POST with event: test to verify connectivity from the Pi
  • Configuration → Advanced → Webhooks panel with live status refresh and per-rule Test button

Why

Operators need visibility into webhook rules and a one-click way to verify LAN URLs without editing yaml or waiting for a real mesh event.

Depends on

PR #82 (webhook engine config). Merge #82 first, then rebase this branch onto main if needed.

Type

  • Feature
  • UI
  • Bug fix
  • Docs
  • Refactor

Testing

  • python -m unittest tests.test_webhooks_routes tests.test_webhook_engine -v (13 tests, pass)
  • Dashboard tested on device

Test plan

  1. Add webhook rules in local.yaml, open Configuration → Advanced → Webhooks
  2. Confirm rules appear with host only (no full URL path with secrets)
  3. Click Test — target receives JSON with event: test and data.test: true
  4. Confirm Last fired updates immediately without service restart
  5. Trigger a real event (e.g. low battery) — last-fired updates on next panel refresh

Relay / TX impact

None. Read-only status API + optional test POST; no pipeline changes beyond PR #82 engine tracking.

AI-assisted?

Implemented with AI assistance; unit tests run locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant