Problem
h5m has a full notification backend (webhook, email, Slack, GitHub issue) with CRUD REST endpoints, but the web UI has no notification configuration or log viewing.
Available REST endpoints (all unused by UI)
| Method |
Endpoint |
Purpose |
GET |
/api/notification/config |
List all notification configs |
POST |
/api/notification/config |
Create a notification config |
PUT |
/api/notification/config/{id} |
Update a notification config |
DELETE |
/api/notification/config/{id} |
Delete a notification config |
GET |
/api/notification/log |
View notification execution log |
Supported notification types
- Webhook — HTTP POST to a URL with JSON payload
- Email — send email via configured SMTP
- Slack — post message to a Slack channel
- GitHub Issue — create or comment on a GitHub issue
Proposed implementation
Notification config management
- Add a "Notifications" tab to the FolderPage (or a global notifications page)
- List existing notification configs for the folder
- Create/edit modal with:
- Type selector (Webhook, Email, Slack, GitHub Issue)
- Type-specific configuration fields (URL, channel, repo, etc.)
- Event filter (which change detection events to notify on)
- Delete with confirmation
Notification log
- View recent notification deliveries with status (success/failure)
- Show payload, timestamp, target, response
Related
NotificationService handles notification dispatching
ChangeDetectedEvent CDI event fires when change detection produces results
- Notification plugins:
WebhookPlugin, EmailPlugin, SlackPlugin, GitHubIssuePlugin
Problem
h5m has a full notification backend (webhook, email, Slack, GitHub issue) with CRUD REST endpoints, but the web UI has no notification configuration or log viewing.
Available REST endpoints (all unused by UI)
GET/api/notification/configPOST/api/notification/configPUT/api/notification/config/{id}DELETE/api/notification/config/{id}GET/api/notification/logSupported notification types
Proposed implementation
Notification config management
Notification log
Related
NotificationServicehandles notification dispatchingChangeDetectedEventCDI event fires when change detection produces resultsWebhookPlugin,EmailPlugin,SlackPlugin,GitHubIssuePlugin