ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

gitlab-mr-review-pipeline

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

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/20181112523/gitlab-mr-review-pipeline
Or

GitLab MR Review Pipeline

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


依赖技能

执行前确保已安装:

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

安装命令

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

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

配置说明

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

使用方式

方式 1:直接告诉 OpenClaw

帮我审核 GitLab 仓库的 MR

OpenClaw 会按照以下流程执行:

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

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

执行流程

步骤 1:检查配置

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

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

步骤 2:查询待处理 MR

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

# 使用工具脚本
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,检查是否已处理过:

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

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

步骤 3:获取 MR 详情

对于每个待处理 MR:

  1. 获取 diff

    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

  2. 获取提交人邮箱

    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/md_to_pdf.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 代码审核。

Metadata

Stars4473
Views0
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-20181112523-gitlab-mr-review-pipeline": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.