Skip to content

ci: notify dingtalk on octobus release#484

Open
chengyang7 wants to merge 1 commit into
mainfrom
codex/octobus-notify-dingtalk-release
Open

ci: notify dingtalk on octobus release#484
chengyang7 wants to merge 1 commit into
mainfrom
codex/octobus-notify-dingtalk-release

Conversation

@chengyang7

Copy link
Copy Markdown
Contributor

Summary

  • Add a release notification workflow for OctoBus v* tag releases.
  • Generate a Chinese changelog from GitHub Release notes when available, falling back to git commit history.
  • Send Markdown notifications to DingTalk targets configured by repository secrets.

Test

  • YAML syntax checked locally.
  • Bash syntax checked locally.

@monkeyscan

monkeyscan Bot commented Jul 15, 2026

Copy link
Copy Markdown

PR Title: ci: notify dingtalk on octobus release

Commit: a1541c9

本次变更新增了一个 GitHub Actions 工作流文件 .github/workflows/notify-dingtalk-release.yml,用于在 CI 工作流成功完成后或手动触发时,将 OctoBus 的 Release Notes 通过 LLM 翻译成简体中文,并发送到钉钉群机器人。

主要设计点:

  • 触发方式:workflow_run(监听 ci 工作流成功完成后的 push 事件且分支/标签以 v 开头)和 workflow_dispatch(手动输入标签)。
  • 权限最小化:仅声明 contents: read
  • 输入校验:对 release_tag 进行 semver 正则校验,验证 git 标签存在性,校验 DINGTALK_TARGETS_JSON 结构。
  • 安全实践:使用 set -euo pipefail;通过 jq --arg 安全构造 JSON;对 webhook、secret、签名后的 URL 显式执行 ::add-mask::;敏感配置(LLM API 密钥、钉钉配置)均来自 secrets。
  • 错误处理:LLM 请求和钉钉请求均设定了超时与重试,失败时累加 failed_count 并在最后统一判断。

整体评估:该工作流编写较为规范,输入校验、secret 脱敏、错误处理等关键安全与正确性措施均已覆盖,未发现引入或暴露的高置信度严重缺陷。

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