Skip to content

feat(notify): support broadcasting to multiple Feishu groups#1130

Closed
Celina-create wants to merge 3 commits into
mainfrom
feat/multi-webhook-support
Closed

feat(notify): support broadcasting to multiple Feishu groups#1130
Celina-create wants to merge 3 commits into
mainfrom
feat/multi-webhook-support

Conversation

@Celina-create

Copy link
Copy Markdown
Contributor

Summary

Enable the developer notification script to broadcast to multiple Feishu groups from a single GitHub secret.

WEBHOOK_URL now accepts comma-separated webhook URLs. The script sends to all URLs in parallel using Promise.allSettled — one group failing does not block the others; partial failures are logged as warnings.

Changes

File What changed
scripts/notify/developer-notify.mjs Add parseWebhookUrls() and broadcastWebhook() helpers; runFromEnv now broadcasts instead of single-send
tests/notify/developer-notify.test.ts Add tests for URL parsing and multi-webhook broadcasting
.github/workflows/developer-*-notify.yml Inline comment noting comma-separated support
specs/current/developer-notify.md Updated behavior and secrets docs to reflect multi-group support

Backward compatibility

Existing single-URL secrets work unchanged — no migration needed. To add groups, append ,<new-webhook-url> to the NOTIFY_DEVELOPER_FEISHU_WEBHOOK secret.

Test plan

  • CI passes (lint, typecheck, test, build)
  • Single webhook URL still works (existing behavior)
  • Comma-separated URLs both receive the notification
  • If one URL fails, the other still gets delivered

Made with Cursor

caiqiling958-cmd added 2 commits April 15, 2026 22:09
- Use distinct symbols for steps (❶❷❸) vs rewards (✅) to avoid confusion
- Clarify points-to-credits conversion (up to 2000 pts = $20 nexu credits)
- Fix "Github" → "GitHub"; remove dangling "详情请看群公告"
- PR card: developer-facing title; add 24h review SLA in transition copy
- Issue card: standardize field labels to Chinese (提交者/标签/描述)
- Both cards: 3 footer buttons (Good First Issue / 贡献者指南 / 查看全部 Issue)
- Update test assertions to match new copy

Made-with: Cursor
WEBHOOK_URL now accepts comma-separated URLs so a single GitHub secret
can target multiple Feishu groups. Delivery uses Promise.allSettled —
one group failing does not block the others.

- Add parseWebhookUrls() and broadcastWebhook() helpers
- Update both workflow files with inline comment
- Update spec doc to reflect multi-group support
- Add tests for URL parsing and multi-webhook broadcasting

Made-with: Cursor
@sentry

sentry Bot commented Apr 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 77.27273% with 10 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
scripts/notify/developer-notify.mjs 77.27% 10 Missing ⚠️

📢 Thoughts on this report? Let us know!

@Celina-create

Copy link
Copy Markdown
Contributor Author

Superseded by new PR from latest main — no conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant