GitLab Merge Request 工具集,提供 MR 摘要生成和周报功能。
# 开发模式安装
pip install -e .
# 或者正式安装
pip install .
显示当前版本信息:
gitlab-merge-request-bot version
获取最近7天的 MR 摘要:
gitlab-merge-request-bot weekly
为指定的 MR 生成 AI 摘要并添加评论:
gitlab-merge-request-bot merge <MR_URL>
示例:
gitlab-merge-request-bot merge https://git.intra.gaoding.com/hex/hex-editor/-/merge_requests/8191
创建 Merge Request 并自动生成 AI 摘要:
gitlab-merge-request-bot create [TARGET_BRANCH] [ASSIGNEE]
功能说明:
- 推送当前分支到远程仓库
- 使用
glab
CLI 工具创建 MR(草稿状态) - 自动调用 AI 分析并添加摘要评论
参数:
TARGET_BRANCH
(可选):目标分支,默认为master
ASSIGNEE
(可选):指派人,默认使用环境变量GITLAB_USER
示例:
# 创建到 master 分支的 MR
gitlab-merge-request-bot create
# 创建到 dev 分支的 MR
gitlab-merge-request-bot create dev
# 创建 MR 并指定指派人
gitlab-merge-request-bot create dev username
前置条件:
- 需要安装并配置
glab
CLI 工具 - 确保当前分支有待推送的更改
# 查看所有命令
gitlab-merge-request-bot --help
# 查看特定命令帮助
gitlab-merge-request-bot version --help
gitlab-merge-request-bot weekly --help
gitlab-merge-request-bot merge --help
gitlab-merge-request-bot create --help
开发阶段可以直接运行模块,运行之前需要在 shell 上配置环境变量
export PYTHONPATH="${PYTHONPATH}:./src"
pytest tests/
pytest tests/test_util.py -v
pytest tests/test_util.py::TestFilterFilesFromDiff::test_filter_single_file -v
ptw -- -s
在使用之前,请确保配置了必要的环境变量:
- GitLab 访问令牌:用于访问 GitLab API
- OpenAI API 密钥:用于 AI 摘要生成
环境变量 | 说明 | 必需程度 |
---|---|---|
GITLAB_BASE_URL |
GitLab 实例的基础 URL | 必需 |
GITLAB_ACCESS_TOKEN |
GitLab 访问令牌 | 必需 |
OPENAI_API_KEY |
OpenAI API 密钥 | 必需 |
GITLAB_ASSIGNEE |
GitLab 用户名 | create 命令可选 |
create
命令依赖 GitLab 官方 CLI 工具 glab
:
# macOS
brew install glab
# 其他平台参考:https://gitlab.com/gitlab-org/cli
配置 glab
:
# 认证到你的 GitLab 实例
glab auth login
# 验证配置
glab api user
具体的环境变量配置请参考项目中的相关配置文件。