4.0 KiB
4.0 KiB
Multi-Channel Delivery (Slack, Teams, Email, Webhooks)
Module
Notifier
Status
VERIFIED
Description
Multi-channel notification delivery with Slack, Webhook connectors (and PagerDuty in Notifier), with snapshot testing and error handling.
Implementation Details
- IChannelAdapter interface:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/IChannelAdapter.cs--DispatchAsyncandCheckHealthAsynctyped byNotifyChannelType. - ChannelAdapterFactory:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChannelAdapterFactory.cs-- resolves channel adapters by type. - Slack/Webhook/ChatWebhook adapters:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/SlackChannelAdapter.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/WebhookChannelAdapter.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/ChatWebhookChannelAdapter.cs. - PagerDuty/OpsGenie/Email/InApp adapters:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/PagerDutyChannelAdapter.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/OpsGenieChannelAdapter.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/EmailChannelAdapter.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Channels/InAppChannelAdapter.cs. - WebhookChannelDispatcher:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Dispatch/WebhookChannelDispatcher.cs. - IWebhookSecurityService:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Security/IWebhookSecurityService.cs. - IFallbackHandler:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Fallback/IFallbackHandler.cs. - HttpEgressSloSink:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Worker/Processing/HttpEgressSloSink.cs. - Templates:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.WebService/offline/notifier/templates/. - Tests:
src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Channels/WebhookChannelAdapterTests.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Dispatch/WebhookChannelDispatcherTests.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Dispatch/SimpleTemplateRendererTests.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Security/WebhookSecurityServiceTests.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/Fallback/FallbackHandlerTests.cs,src/Notifier/StellaOps.Notifier/StellaOps.Notifier.Tests/HttpEgressSloSinkTests.cs. - Source: Feature matrix scan
E2E Test Plan
- Verify Slack channel adapter delivers notifications with Block Kit formatting.
- Test webhook channel adapter posts to configured URLs with HMAC signature.
- Verify PagerDuty adapter creates incidents with correct severity mapping.
- Test OpsGenie adapter creates alerts with priority.
- Verify email adapter sends with subject and rendered body.
- Test in-app notification adapter records notifications for UI retrieval.
- Verify channel health checks detect unreachable endpoints.
- Test fallback handler routes to secondary channel on primary failure.
- Verify egress SLO tracking records delivery latency.
Verification
- Verified on 2026-02-11 with
run-003. - Tier 0 source checks passed for adapter surfaces, dispatcher/security/fallback interfaces, template assets, and test coverage points.
- Tier 1 build + tests passed (builds green; full Notifier suite
520/520). - Tier 2 behavioral checks passed (
48/48) across webhook adapter behavior, dispatcher flows, fallback routing, egress SLO publication, and identity alert multi-channel rendering. - Evidence:
docs/qa/feature-checks/runs/notifier/multi-channel-delivery/run-003/tier0-source-check.jsondocs/qa/feature-checks/runs/notifier/multi-channel-delivery/run-003/tier1-build-check.jsondocs/qa/feature-checks/runs/notifier/multi-channel-delivery/run-003/tier2-integration-check.jsondocs/qa/feature-checks/runs/notifier/multi-channel-delivery/run-003/retest-result.json