返回顶部
g

gitlab-mr-review-pipelineGitLab MR审核流水线

自动化 GitLab MR 代码审核流水线。使用 AI 对 MR 进行代码审查,生成报告并邮件发送给提交人。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
124
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

gitlab-mr-review-pipeline

GitLab MR 审核流水线

自动化 GitLab Merge Request 代码审核流水线。使用 AI 对 MR 进行代码审查,生成报告并邮件发送给提交人。



依赖技能

执行前确保已安装:

  • - glab-cli - GitLab CLI(可选,脚本会使用 API 直接调用)
  • code-review - AI 代码审核
  • md-to-pdf-advanced - Markdown 转 PDF
  • email-mail-master - 邮件发送

安装命令

bash
npx clawhub install glab-cli
npx clawhub install code-review
npx clawhub install md-to-pdf-advanced
npx clawhub install email-mail-master



配置文件

路径: ~/.config/gitlab-mr-review-pipeline/config.json

json
{
gitlab: {
host: http://your-gitlab.com,
access_token: your-access-token
},
email: {
provider: 163,
address: your-email@163.com,
auth_code: your-auth-code
},
repositories: [owner/repo1, owner/repo2]
}

配置说明

字段说明必需
gitlab.hostGitLab 地址
gitlab.access_token
Access Token(需 api 权限) | 是 | | email.provider | 邮箱服务商(163/qq/126) | 是 | | email.address | 邮箱地址 | 是 | | email.auth_code | 邮箱授权码(非登录密码) | 是 | | repositories | 监控的仓库列表 | 是 |

使用方式

方式 1:直接告诉 OpenClaw

帮我审核 GitLab 仓库的 MR

OpenClaw 会按照以下流程执行:

方式 2:使用脚本初始化配置

bash
python3 skills/gitlab-mr-review-pipeline/scripts/init-config.py



执行流程

步骤 1:检查配置

读取 ~/.config/gitlab-mr-review-pipeline/config.json

如果配置不存在,提示用户运行初始化脚本。

步骤 2:查询待处理 MR

使用 GitLab API 查询每个仓库的待处理 MR:

bash

使用工具脚本


python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-list --repo owner/repo

API 端点: {host}/api/v4/projects/{repo}/merge_requests?state=opened

如果没有待处理 MR,提示用户并终止。

步骤 2.5:检查 MR 是否已处理(避免重复)

对于每个待处理 MR,检查是否已处理过:

bash
python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py check --repo owner/repo --mr-id 2

如果输出包含 已处理过,跳过该 MR。

步骤 3:获取 MR 详情

对于每个待处理 MR:

  1. 1. 获取 diff
bash python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-diff --repo owner/repo --mr-id 2

API: {host}/api/v4/projects/{repo}/merge_requests/{id}/changes

  1. 2. 获取提交人邮箱
bash python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-commits --repo owner/repo --mr-id 2

API: {host}/api/v4/projects/{repo}/merge_requests/{id}/commits

步骤 4:AI 代码审核

使用 code-review 技能对 diff 内容进行审查。

审核提示模板:

使用 code-review 技能对以下代码变更进行详细审查。

MR 信息

  • - 仓库:{repo}
  • MR ID: !{id}
  • 标题:{title}
  • 作者:{author}

代码变更

diff {diff_content}

审核要求

请按照 code-review 技能的 checklist 进行审查,只列出发现的问题项

输出格式参考:references/review-report-template.md

输出: file/mr-code-review-report.md

步骤 5:生成 PDF

使用 md-to-pdf-advanced 技能:

bash
python3 skills/md-to-pdf-advanced/scripts/mdtopdf.py \
file/mr-code-review-report.md \
mr-reports/{repo}MR{id}{author}_review.pdf

步骤 6:发送邮件

使用 email-mail-master 技能发送审核报告。

邮件主题: [MR Review - AI 代码审核] !{id} {title}

邮件正文模板:

尊敬的开发者,您好!

您的 Merge Request 已完成 AI 代码审核。

📋 审核概览

  • - MR: !{id} {title}
  • 仓库:{repo}
  • 综合评分:{score}/100
  • 发现问题:{critical} 个严重,{major} 个主要

📎 请查收附件中的详细审核报告(PDF 格式)。

💡 建议
请优先修复标记为 [CRITICAL] 和 [MAJOR] 的问题。
修复完成后,可以重新提交审核。

祝编码愉快!



GitLab MR Review Pipeline
AI 代码审核系统

步骤 7:标记 MR 已处理

bash
python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py mark \
--repo owner/repo \
--mr-id 2 \
--author author@example.com \
--score 61 \
--issues 5

记录已处理的 MR,避免下次重复审核。

步骤 8:清理临时文件(可选)

bash
python3 skills/gitlab-mr-review-pipeline/scripts/cleanup.py --days 7

清理临时 markdown 文件和 7 天前的 PDF 报告。



工具脚本

gitlab-api.py

GitLab API 调用工具。

bash

查询 MR 列表


python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-list --repo owner/repo

获取 MR diff

python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-diff --repo owner/repo --mr-id 2

获取 MR commits

python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py mr-commits --repo owner/repo --mr-id 2

验证仓库

python3 skills/gitlab-mr-review-pipeline/scripts/gitlab-api.py repo-check --repo owner/repo

mr-records.py

MR 处理记录管理(避免重复审核)。

bash

检查 MR 是否已处理


python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py check --repo owner/repo --mr-id 2

标记 MR 已处理

python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py mark \ --repo owner/repo --mr-id 2 --author user@example.com --score 61 --issues 5

列出最近处理的 MR

python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py list --days 7

清理旧记录

python3 skills/gitlab-mr-review-pipeline/scripts/mr-records.py cleanup --days 30

记录文件位置: ~/.config/gitlab-mr-review-pipeline/processed-mrs.json

cleanup.py

清理临时文件和旧报告。

bash

清理临时文件和 7 天前的 PDF


python3 skills/gitlab-mr-review-pipeline/scripts/cleanup.py --days 7

显示存储统计

python3 skills/gitlab-mr-review-pipeline/scripts/cleanup.py --stats

清理所有临时文件

python3 skills/gitlab-mr-review-pipeline/scripts/cleanup.py --all

init-config.py

配置初始化脚本。

bash
python3 skills/gitlab-mr-review-pipeline/scripts/init-config.py

会引导用户输入:

  • - GitLab 地址和 Token
  • 邮箱配置
  • 监控仓库列表

并验证配置是否有效。



输出文件

Markdown 报告

  • - 路径: file/mr-code-review-report.md
  • 格式: 参考 review-report-template.md

PDF 报告

  • - 路径: mr-reports/{repo}MR{id}{author}_review.pdf

邮件

  • - 收件人: MR 提交人邮箱
  • 主题: [MR Review - AI 审核] !{id} {title}
  • 附件:

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 gitlab-mr-review-pipeline-1775940822 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 gitlab-mr-review-pipeline-1775940822 技能

通过命令行安装

skillhub install gitlab-mr-review-pipeline-1775940822

下载

⬇ 下载 gitlab-mr-review-pipeline v1.0.0(免费)

文件大小: 15.02 KB | 发布时间: 2026-4-12 10:06

v1.0.0 最新 2026-4-12 10:06
Initial release of gitlab-mr-review-pipeline.

- Automates GitLab Merge Request (MR) code review using AI, generates detailed reports, and emails them to authors.
- Integrates with code-review, md-to-pdf-advanced, and email-mail-master skills for AI audit, PDF report generation, and email delivery.
- Provides configuration, initialization scripts, and step-by-step processing of MRs to avoid duplicate reviews.
- Includes troubleshooting and security recommendations.
- Supports output of markdown and PDF audit reports, with customizable templates and cleanup scripts.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部