🚀 GitHub Action:多事件、可定制、支持多风格和国际化的飞书群通知
- 支持 PR、Push、Release、Issue、Branch、Workflow 等多种 GitHub 事件
- 通知模板、emoji、风格可定制,支持多种通知风格
- 支持通过
config.yml集中管理事件与模板 - 支持中英文国际化,用户可自定义语言包
- 支持通过参数动态 @ 指定人员
- 健壮的错误处理与详细日志
- 单元测试覆盖率 >90%,CI 检查
- 自动生成 API 文档
- 在你的仓库
.github/workflows/下新建 workflow 文件:
name: Feishu Notify
on:
pull_request:
types: [opened, synchronize, closed]
push:
release:
issues:
workflow_run:
jobs:
notify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: azurepwq/feishu-action@v1
with:
feishu_webhook: ${{ secrets.FEISHU_WEBHOOK }}
config_path: .github/feishu/config.yml- 在
.github/feishu/config.yml配置通知模板、风格、语言等:
default:
language: zh-CN
style: engineer
at:
- feishu_id1
- feishu_id2
pr:
opened:
template: pr_opened
closed:
template: pr_closed
push:
template: push- 支持多种风格(工程风、可爱风、女黑客风、日系风)
- 模板支持 Mustache 语法,支持所有事件上下文变量
- 可自定义 emoji、@人员
- 语言包位于
locales/,支持 zh-CN、en-US - 可通过 config.yml 配置
language - 支持自定义语言包覆盖
npm install
# 1. 模拟模式开发 (Mock 响应)
npm run dev # 或 npm run dev:mock
# 2. 使用开发环境 webhook
# 先设置 FEISHU_DEV_WEBHOOK 环境变量或在 .env 文件中配置
npm run dev:real
# 3. 使用生产环境 webhook
# 先设置 FEISHU_PROD_WEBHOOK 环境变量或在 .env 文件中配置
npm run dev:prod
# 运行测试
npm run test
npm run coverage
# 构建
npm run build
# 生成文档
npm run docs- 复制
.env.example到.env文件 - 修改
.env中的配置:FEISHU_RUN_MODE: 运行模式 (mock,dev, 或prod)FEISHU_DEV_WEBHOOK: 开发环境飞书 webhook URLFEISHU_PROD_WEBHOOK: 生产环境飞书 webhook URL
- 遵循 Conventional Commits
- 使用
npm run commit交互式提交 - PR 需通过测试与覆盖率检查
MIT