Skip to content

Add notification configuration UI #190

Description

@stalep

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions