29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
feat(alerts): add Slack channel with webhooks and Block Kit - Issue #40 (44 tests)
|
|
|
|
Implements Slack integration for alert delivery:
|
|
- SlackMessageStyle enum (simple, blocks, attachment)
|
|
- SlackConfig for webhook URL, channel, username, icon
|
|
- SlackMessageResult for delivery tracking
|
|
- SlackMessageFormatter with Block Kit support
|
|
- SlackChannel implementing AlertChannel protocol
|
|
- create_slack_channel factory function
|
|
|
|
Features:
|
|
- Three formatting styles (simple text, blocks, attachments)
|
|
- Priority-based colors and emojis
|
|
- Category emojis for visual identification
|
|
- @mention support for critical alerts
|
|
- Timestamp and source inclusion options
|
|
- Data field display in messages
|
|
- Webhook URL validation (hooks.slack.com)
|
|
- Retry logic with exponential backoff
|
|
- Rate limit handling (429 status with Retry-After)
|
|
- Server error retry (500+) vs client error fail-fast (400)
|
|
- Latency tracking for performance monitoring
|
|
- Sync and async delivery methods
|
|
- Test webhook functionality
|
|
|
|
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
|
|
|
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|