# MantisPluginFeishuNotifier **Repository Path**: hejiang/mantis-plugin-feishu-notifier ## Basic Information - **Project Name**: MantisPluginFeishuNotifier - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-24 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MantisBT 飞书通知插件 一个 MantisBT 插件,当问题被创建、更新、关闭或重新打开时,自动发送通知到飞书(Feishu/Lark)。 ## 功能特性 - 🚀 **实时通知**:当问题状态发生变化时立即发送飞书通知 - 📝 **多种事件支持**: - 新建问题通知 - 更新问题通知 - 关闭问题通知 - 重新打开问题通知 - 🎨 **丰富的消息格式**:包含项目名、问题摘要、状态、严重程度、优先级、报告人和处理人信息 - 🔗 **直接链接**:消息中包含指向问题的直接链接 - 📄 **可选描述**:可选择是否在通知中包含问题描述 - 🌐 **多语言支持**:支持英文和简体中文 - ⚙️ **灵活配置**:通过 Web 界面轻松配置插件设置 ## 安装部署 ### 前提条件 - MantisBT 2.0 或更高版本 - PHP 7.0 或更高版本 - 飞书机器人 Webhook URL ### 安装步骤 1. **下载插件** ```bash cd /path/to/mantisbt/plugins git clone https://github.com/your-repo/FeishuNotifier.git ``` 2. **设置目录权限**(Linux/Unix 系统) ```bash 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 ## 作者 - 作者:hejiang (hejiang@tju.edu.cn) ## 更新日志 ### v1.0.0 (2025-09-24) - ✨ 初始版本发布 - 🚀 支持基本的问题通知功能 - 📝 支持新建、更新、关闭、重新打开事件 - 🌐 支持英文和简体中文 - ⚙️ 提供 Web 配置界面