Skip to content

azurepwq/feishu-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

feishu-action

Build Status Coverage Status Version License: MIT

🚀 GitHub Action:多事件、可定制、支持多风格和国际化的飞书群通知

功能特性

  • 支持 PR、Push、Release、Issue、Branch、Workflow 等多种 GitHub 事件
  • 通知模板、emoji、风格可定制,支持多种通知风格
  • 支持通过 config.yml 集中管理事件与模板
  • 支持中英文国际化,用户可自定义语言包
  • 支持通过参数动态 @ 指定人员
  • 健壮的错误处理与详细日志
  • 单元测试覆盖率 >90%,CI 检查
  • 自动生成 API 文档

快速开始

  1. 在你的仓库 .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
  1. .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、@人员

国际化(i18n)

  • 语言包位于 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

环境变量配置

  1. 复制 .env.example.env 文件
  2. 修改 .env 中的配置:
    • FEISHU_RUN_MODE: 运行模式 (mock, dev, 或 prod)
    • FEISHU_DEV_WEBHOOK: 开发环境飞书 webhook URL
    • FEISHU_PROD_WEBHOOK: 生产环境飞书 webhook URL

贡献指南

  • 遵循 Conventional Commits
  • 使用 npm run commit 交互式提交
  • PR 需通过测试与覆盖率检查

API 文档

常见问题

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors