赞
踩
本文来自:
尹学峰 极狐(GitLab)高级解决方案架构师
自从 ChatGPT 闪亮登场以来,各种基于它的软件扩展纷至沓来。爱折腾的极狐GitLab 开发者们,也花式玩转起了 ChatGPT + 极狐GitLab,让研发工作更高效。
今天,我们来看看如何让 ChatGPT 进行自动化的 MR 变更评审,Enjoy~
如上图所示:
1. 当极狐GitLab 有代码变更时(创建 MR),通过 webhook 发送事件消息到 ai-code-review App;
2. 当 ai-code-review App 收到消息后,发送 Review Reqeust 到 ChatGPT(调用 ChatGPT 的 API);
3. ChatGPT 将 Code Review 结果以 Review Response 形式返回;
4. ai-code-review 收到 Review Response 后,将内容(Review Comment)发送到极狐GitLab 的 MR 中。
即上图中紫色机器,需要满足基本条件:
api.openai.com
;1.1.1 Docker 安装
如已经安装 Docker 可忽略此章节。
安装脚本如下:
curl -fsSL https://get.docker.com | bash -s docker
1.1.2 运行程序
使用如下命令。注意,需要修改其中 3 个 Token/License 参数为实际参数:
gitlab_private_token
: GitLab Token,应具有 Merge Requst 写权限。在生成此 Token 时,建议勾选所有权限;openai_api_key
: 需在 OpenAI API Keys 自行申请;acr_license
: test
即可。- docker run -itd -p 8888:8888 \
- --restart=always \
- --name ai-code-review \
- -e gitlab_private_token="<你的GitLab Token>" \
- -e language="Chinese" \
- -e openai_api_key="<你的OpenAI Token>" \
- -e acr_license="test" \
- satomic/ai-code-review:20230321
在极狐GitLab 中,进行 AI code review 的 group 或 project 配置,以 project 为例,建议使用 group 级别的 webhook,这样 group 内的所有项目的 MR 都会被 AI 审查,无需为每个 project 重复配置,配置方式与 project 相同:
每次合并请求产生及变化时,都会看到发送记录 :
Review 效果如下,更多可访问 Public 演示仓库 AI自动MR评审演示。
前文中的自动化评审机器人
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。