Skip to content

hejiang2000/FeishuNotifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MantisBT 飞书通知插件

一个 MantisBT 插件,当问题被创建、更新、关闭或重新打开时,自动发送通知到飞书(Feishu/Lark)。

功能特性

  • 🚀 实时通知:当问题状态发生变化时立即发送飞书通知
  • 📝 多种事件支持
    • 新建问题通知
    • 更新问题通知
    • 关闭问题通知
    • 重新打开问题通知
  • 🎨 丰富的消息格式:包含项目名、问题摘要、状态、严重程度、优先级、报告人和处理人信息
  • 🔗 直接链接:消息中包含指向问题的直接链接
  • 📄 可选描述:可选择是否在通知中包含问题描述
  • 🌐 多语言支持:支持英文和简体中文
  • ⚙️ 灵活配置:通过 Web 界面轻松配置插件设置

安装部署

前提条件

  • MantisBT 2.0 或更高版本
  • PHP 7.0 或更高版本
  • 飞书机器人 Webhook URL

安装步骤

  1. 下载插件

    cd /path/to/mantisbt/plugins
    git clone https://github.com/your-repo/FeishuNotifier.git
  2. 设置目录权限(Linux/Unix 系统)

    chown -R www-data:www-data FeishuNotifier/
    chmod -R 755 FeishuNotifier/
  3. 在 MantisBT 中安装插件

    • 登录 MantisBT 管理员账户
    • 进入 "管理" → "插件管理"
    • 找到 "飞书通知" 插件
    • 点击 "安装"

配置飞书机器人

  1. 创建飞书群组机器人

    • 在飞书中创建或选择一个群组
    • 点击群设置 → 群机器人 → 添加机器人
    • 选择 "自定义机器人"
    • 设置机器人名称和头像
    • 复制 Webhook URL
  2. 配置插件

    • 在 MantisBT 中进入 "管理" → "管理插件"
    • 点击 "飞书通知" 插件的 "配置"
    • 填入飞书机器人 Webhook URL
    • 启用所需的通知事件
    • 保存配置

配置说明

基本配置

配置项 说明 默认值
Webhook URL 飞书机器人 Webhook 地址
启用插件 是否启用飞书通知功能

通知事件

配置项 说明 默认值
新建问题通知 当新问题被创建时发送通知
更新问题通知 当问题被更新时发送通知
关闭问题通知 当问题被关闭时发送通知
重新打开问题通知 当问题被重新打开时发送通知

消息设置

配置项 说明 默认值
包含问题描述 在通知中包含问题描述
描述最大长度 问题描述的最大字符数 500

消息格式

通知消息包含以下信息:

  • 📋 项目名和问题标题
  • 🏷️ 问题摘要
  • 📊 状态、严重程度、优先级
  • 👥 报告人和处理人
  • 🔗 查看详情的直接链接
  • 📝 问题描述(可选)

故障排除

常见问题

  1. 通知未发送

    • 检查插件是否已启用
    • 验证 Webhook URL 是否正确
    • 检查 MantisBT 错误日志
    • 确认相关通知事件已启用
  2. Webhook 调用失败

    • 检查网络连接
    • 验证飞书机器人是否正常工作
    • 查看 MantisBT 错误日志中的详细错误信息
  3. 消息格式问题

    • 确认 MantisBT 配置正确
    • 检查项目、用户等基础数据

调试模式

插件内置了详细的日志输出功能,可以通过查看 MantisBT 错误日志来调试问题。日志包含:

  • 方法调用跟踪
  • 配置项获取
  • Webhook 调用状态
  • HTTP 响应信息

开发信息

文件结构

FeishuNotifier/
├── FeishuNotifier.php          # 主插件文件
├── config_defaults_inc.php     # 默认配置
├── README.md                   # 说明文档
├── lang/
│   ├── strings_english.txt     # 英文语言文件
│   └── strings_chinese_simplified.txt  # 简体中文语言文件
└── pages/
    ├── config.php               # 配置页面
    └── config_update.php        # 配置更新处理

主要类和方法

  • FeishuNotifierPlugin - 主插件类
  • register() - 插件注册
  • hooks() - 定义钩子函数
  • bug_reported() - 处理新建问题
  • bug_updated() - 处理问题更新
  • bug_action() - 处理状态变更动作
  • send_notification() - 发送通知
  • build_message() - 构建消息内容
  • send_to_feishu() - 发送到飞书

贡献

欢迎提交 Issue 和 Pull Request 来改进这个插件。

许可证

MIT License

作者

更新日志

v1.0.0 (2025-09-24)

  • ✨ 初始版本发布
  • 🚀 支持基本的问题通知功能
  • 📝 支持新建、更新、关闭、重新打开事件
  • 🌐 支持英文和简体中文
  • ⚙️ 提供 Web 配置界面

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages