Skip to content

feat(notify): add Slack per-action notifications alongside Discord - #1487

Merged
JSONbored merged 1 commit into
mainfrom
claude/slack-notify
Jun 26, 2026
Merged

feat(notify): add Slack per-action notifications alongside Discord#1487
JSONbored merged 1 commit into
mainfrom
claude/slack-notify

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Operator notifications were Discord-only. This adds notifyActionToSlack as a sibling of notifyActionToDiscord: when SLACK_WEBHOOK_URL (a https://hooks.slack.com/services/… incoming webhook) is set, a merged / closed / manual outcome posts a Block Kit message to that channel for any repo. The action executor now fires both — set either, both, or neither.

  • Best-effort (never throws; a notify failure never affects the gate/action).
  • URL-validated to hooks.slack.com/services only (https).
  • Modular self-host default — works for any repo via one env var, no source edit; declared in env.d.ts + .env.example.

Validation

  • npm run typecheck; npm run test:coverage — full suite green; 100% changed lines + branches (posts with/without submitter; unset + 4 invalid-URL shapes → no-op; fetch failure swallowed).

Roadmap item #11 (integrations).

Operator notifications were Discord-only. Add notifyActionToSlack as a sibling of
notifyActionToDiscord: when SLACK_WEBHOOK_URL (a hooks.slack.com/services webhook)
is set, a merged/closed/manual outcome posts a Block Kit message to that channel
for ANY repo. The executor now fires both; set either, both, or neither. Best-effort
(never throws), URL-validated to hooks.slack.com/services only.
@dosubot dosubot Bot added the size:M label Jun 26, 2026
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Jun 26, 2026
@JSONbored JSONbored added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jun 26, 2026
@codecov

codecov Bot commented Jun 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.44%. Comparing base (95fe9a4) to head (530cfee).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1487   +/-   ##
=======================================
  Coverage   95.44%   95.44%           
=======================================
  Files         194      194           
  Lines       21078    21094   +16     
  Branches     7625     7629    +4     
=======================================
+ Hits        20118    20134   +16     
  Misses        383      383           
  Partials      577      577           
Files with missing lines Coverage Δ
src/services/agent-action-executor.ts 90.69% <100.00%> (+0.22%) ⬆️
src/services/notify-discord.ts 88.88% <100.00%> (+7.07%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JSONbored
JSONbored merged commit 0da4991 into main Jun 26, 2026
18 checks passed
@JSONbored
JSONbored deleted the claude/slack-notify branch June 26, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant