# GitLab评审工具 **Repository Path**: toolfox/gitlab_review_tool ## Basic Information - **Project Name**: GitLab评审工具 - **Description**: 接受GitLab的MR通知,转发给飞书。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-20 - **Last Updated**: 2025-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GitLab评审工具 ## 项目简介 GitLab评审工具解决了部分GitLab服务器因权限或配置限制无法提供邮件通知功能的问题。该工具能够将GitLab的webhook事件转换为飞书通知,提升团队协作效率。 ## 功能特性 - 支持特定分支的merge_request基本信息转发 - 支持特定分支的评论转发 - 支持提取评论中的@用户并通知 - 可自定义筛选规则 - 轻量级PHP部署 ## 基本原理 - 在GitLab中设置Integrations,在merge_request事件中添加webhook。 - 当有符合条件的merge_request事件触发时,GitLab会向服务器发送MR的详情。 - PHP服务器收到请求后,通过proc_open函数执行Python脚本。 - Python脚本解析GitLab的POST数据,提取需要的信息,并发送飞书通知。 ## 部署步骤 ### 环境要求 - PHP 7.0+ 环境 - 允许proc_open函数(需在php.ini中解除禁用) - 可访问互联网的服务器 ### 安装过程 1. 将以下文件上传到PHP服务器: - index.php - gitlab_review_tool.py - config.json.template(需重命名为config.json) 2. 配置PHP环境: ```bash # 编辑php.ini文件 vi /etc/php.ini # 找到disable_functions,移除proc_open # 重启PHP服务 systemctl restart php-fpm ``` *宝塔面板用户*:软件商店 → PHP设置 → 禁用函数 → 移除proc_open → 重启服务 3. 配置飞书机器人: 1. 在飞书群组中创建自定义机器人 2. 获取webhook地址 3. 编辑config.json文件,填入webhook地址和其他配置 4. 配置GitLab webhook: 1. 进入GitLab仓库 → Settings → Integrations 2. 填写URL:`http://your-server-ip/index.php` 3. 选择触发事件(勾选Merge request events) 4. 添加webhook并测试 ## 许可证 本项目采用MIT许可证 - 详见LICENSE文件