项目简介
Git PR Manager 是一个现代化的 Go 语言工具,旨在自动化跨多个 Git 仓库的 Pull Request 管理。它支持 GitHub、GitLab 和 Bitbucket,能够智能筛选、合并 PR,并提供丰富的统计和通知功能。
本仓库包含一个集成的 MCP 服务器(基于 Model Context Protocol),可以将这些强大的 PR 管理能力以标准化的方式暴露给 AI 助手客户端。通过 MCP 服务器,AI 助手能够通过自然语言与工具交互、访问上下文资源,实现对 Pull Request 的检查、合并和状态监控等自动化操作。
主要功能点
- 多平台 PR 管理: 统一管理 GitHub、GitLab 和 Bitbucket 上的 Pull Request。
- 自动化合并: 根据预设规则(如信任的机器人、状态检查、批准要求)智能筛选并自动合并 PR。
- 丰富的上下文信息: AI 助手可访问 MCP 服务器提供的当前配置、仓库统计、环境状态和命令帮助等关键资源,获取实时数据。
- AI 可调用工具: AI 助手可通过调用 MCP 服务器注册的工具,执行 PR 设置、验证、检查、合并、监控和统计等具体操作。
- 安全与性能: 采用 Go 语言原生性能,支持并发处理、API 速率限制、健壮的重试机制和环境安全配置。
- 灵活的通知: 支持将 PR 状态和合并结果通过 Slack 或电子邮件发送通知。
安装步骤
-
下载或构建可执行文件:
- 推荐: 从项目 GitHub Release 页面下载适用于您操作系统的最新 'git-pr-cli' 和 'git-pr-mcp' 可执行文件。下载后,请确保将它们移动到系统 PATH 目录中(例如 '/usr/local/bin'),并赋予执行权限。
- 或者从源代码构建:
git clone https://github.com/pacphi/git-pr-manager.git cd git-pr-manager make build # 这将生成 git-pr-cli(CLI 客户端)和 git-pr-mcp(MCP 服务器)两个可执行文件。
-
配置 Git 服务提供商的身份验证:
- 将您的 GitHub、GitLab 或 Bitbucket 访问令牌设置为环境变量。这是 MCP 服务器和 CLI 工具访问 Git 仓库所必需的。
- 例如:
export GITHUB_TOKEN="ghp_YOUR_GITHUB_TOKEN" export GITLAB_TOKEN="glpat_YOUR_GITLAB_TOKEN" export BITBUCKET_USERNAME="your_bitbucket_username" export BITBUCKET_APP_PASSWORD="your_bitbucket_app_password" # 如果是 Bitbucket Cloud,可能还需要设置工作区 export BITBUCKET_WORKSPACE="your_bitbucket_workspace"
-
设置您要管理的仓库:
- 使用 'git-pr-cli' 命令行工具的交互式向导来配置您希望进行 Pull Request 自动化管理的仓库:
git-pr-cli setup wizard - 您也可以手动编辑生成的 'config.yaml' 配置文件,以自定义 PR 筛选规则、合并策略和通知设置等。
- 配置完成后,运行以下命令验证配置是否正确,以及与 Git 提供商的连接是否正常:
git-pr-cli validate --check-auth --check-repos
- 使用 'git-pr-cli' 命令行工具的交互式向导来配置您希望进行 Pull Request 自动化管理的仓库:
服务器配置(供 MCP 客户端使用)
本 MCP 服务器('git-pr-mcp')通过 JSON-RPC 协议的 Stdios 传输方式与 MCP 客户端通信。MCP 客户端(如 AI 助手集成插件)需要以下配置信息来与服务器建立连接:
{ "server_name": "Git PR MCP Server", "command": "git-pr-mcp", "args": [], "description": "提供Git Pull Request管理和自动化功能,允许AI助手通过自然语言检查、合并和监控Pull Request。" }
配置说明:
- 'server_name':MCP 服务器的名称,用于标识该服务。
- 'command':启动 MCP 服务器可执行文件的命令。如果 'git-pr-mcp' 文件已添加到系统 PATH,只需写 'git-pr-mcp';否则,请提供其完整路径,例如 '/path/to/git-pr-manager/bin/git-pr-mcp'。
- 'args':启动 MCP 服务器时传递的命令行参数列表。通常为空,或根据需要添加 '--log-level debug' 等调试参数。
- 'description':对该 MCP 服务器功能的简要描述,供 MCP 客户端展示给用户。
基本使用方法
MCP 服务器通常在后台运行,由 MCP 客户端(如 AI 助手集成)自动调用和管理。您可以通过 AI 助手发出自然语言指令来利用其功能:
- 检查 Pull Request 状态:
- “检查所有仓库中等待合并的 Pull Request。”
- “列出 GitHub 上 'myorg/web-app' 仓库中所有开放的 PR。”
- 自动化合并 Pull Request:
- “合并所有通过了所有检查并准备就绪的 Pull Request。”
- “在 'myorg/backend' 仓库中进行一次模拟合并(dry run)。”
- 获取统计信息:
- “给我过去 30 天内 Pull Request 的统计报告。”
- “显示 'myorg/mobile-app' 仓库的 Pull Request 贡献者统计。”
- 查看当前配置和环境状态:
- “显示 Git PR 管理器的当前配置详情。”
- “检查当前环境的认证令牌是否都已设置。”
- 配置环境:
- “启动交互式向导来配置新的仓库。”
信息
分类
开发者工具