当前位置:   article > 正文

玩转 ChatGPT+极狐GitLab|自动化的MR 变更评审来了_gitlab auto-mr

gitlab auto-mr

本文来自:

尹学峰 极狐(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 中。

二、快速上手指南


1. ai-code-review环境

即上图中紫色机器,需要满足基本条件:

  • 此机器能够访问 api.openai.com
  • 此机器与极狐GitLab 机器之间网络互相可以访问,或者说彼此可以 ping 通。

1.1 Linux / MacOS / *Unix

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_licensetest 即可。
  1. docker run -itd -p 8888:8888 \
  2. --restart=always \
  3. --name ai-code-review \
  4. -e gitlab_private_token="<你的GitLab Token>" \
  5. -e language="Chinese" \
  6. -e openai_api_key="<你的OpenAI Token>" \
  7. -e acr_license="test" \
  8. satomic/ai-code-review:20230321

2. 极狐GitLab Webhook 配置

在极狐GitLab 中,进行 AI code review 的 group 或 project 配置,以 project 为例,建议使用 group 级别的 webhook,这样 group 内的所有项目的 MR 都会被 AI 审查,无需为每个 project 重复配置,配置方式与 project 相同:

每次合并请求产生及变化时,都会看到发送记录 :

3. ChatGPT 评审效果

Review 效果如下,更多可访问 Public 演示仓库 AI自动MR评审演示

三、定义自己的评审机器人


前文中的自动化评审机器人

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/226762
推荐阅读
相关标签