在 Gitlab 中使用 ChatGPT 进行 CodeReview

ChatGPT集成Gitlab,实现自动代码审计并进行评论,为软件开发团队提供高效、智能的代码审查解决方案。支持其他模型如通义千问等

  1. 自动触发与及时响应:利用Gitlab的Webhook功能,实现代码提交、合并请求和标签创建等事件的自动触发。一旦有新的代码提交,系统即时响应,立即启动审计过程,无需手动干预。
  2. 利用Gitlab API接口:通过与Gitlab的API接口集成,方便后续的功能拓展和扩展。这种集成方式使得与Gitlab的交互更加灵活,能够支持更多自定义的审计需求。
  3. 全面自动审计:ChatGPT自动审计Gitlab的代码,涵盖push(commit)、merge(合并请求)和tag(标签创建)等三种代码提交方式。无论是新的代码提交还是代码合并,系统都能自动检查并提供审计评论。

前言

GitHub上看到一个使用 ChatGPT 进行 Code Review 的项目 ChatGPT-CodeReview。它实现了一个代码审查机器人,当你在 GitHub 上创建一个新的 Pull request 时,机器人会自动进行代码审查,审查信息将显示在 PR timeline / file changes 中。由于该版本不支持gitlab,于是自己用js写了一版。

功能介绍

代码审查机器人:在 Gitlab 中使用 ChatGPT 或 其他模型(兼容openai的api) 进行 CodeReview。当你在 GitLab 上创建一个新的 Merge request 时,机器人会自动进行代码审查,审查信息将显示在 MR timeline / file changes 中。

实现原理

Usage

创建Project Access Tokens

Gitlab配置Webhook

Webhook URL示例:http://xxx:4000/code-review?access_token=<access_token>

测试示例图

Configuration

  1. BASE_URL AI模型host,默认https://api.openai.com,可替换通义或其他模型链接
  2. API_KEY [required] 模型api的key
  3. DEFAULT_MODEL 默认gpt3.5-turbo,可替换通义或其他模型
  4. GITLAB_URL 你的gitlab仓库的host
  5. TARGET_CR_FILE 正则匹配需要code review的文件,默认检查.js/.jsx/.ts/.tsx结尾的文件
仓库地址 ==>GitHub
相关推荐
Java 码农3 小时前
gitlab gitrunner springboot 多环境多分支部署 (非容器方式,使用原生linux 环境)
linux·spring boot·gitlab
菩提小狗5 小时前
小迪安全2023-2024|第11天:基础入门-ChatGPT篇&注册体验&结合安全&融入技术&高效赋能&拓_笔记|web安全|渗透测试|网络安全
笔记·安全·chatgpt
Java 码农6 小时前
GitLab + GitLab Runner + Spring Cloud Alibaba 多环境多分支容器化部署方案(docker)
docker·容器·gitlab
@我们的天空1 天前
【AI应用】学习和实践基于 LangChain/LangGraph 的链(Chain)构建、Agent 工具调用以及多轮对话流程的实现
人工智能·gpt·学习·语言模型·chatgpt·langchain·aigc
我就是全世界1 天前
AI深入情感角落:谁来保护未成年人?
人工智能·chatgpt
TOPGUS1 天前
谷歌战略方向转型,希望成为一家由AI驱动的搜索平台
人工智能·搜索引擎·chatgpt·aigc·seo·数字营销
毋若成1 天前
公司小白第一课:DACS、gitlab、AI提问词
ai·gitlab·dacs
TOPGUS1 天前
谷歌官方发言解析:三大AI支柱如何融合,构建自家的下一代“交互式搜索引擎”
人工智能·搜索引擎·chatgpt·aigc·seo·数字营销
石工记1 天前
Ubuntu 2024 Docker-Compose部署GitLab+MySQL 8.0保姆式方案
ubuntu·docker·gitlab
不错就是对2 天前
【agent-lightning】 - 2_使用 Agent-lightning 训练第一个智能体
人工智能·深度学习·神经网络·自然语言处理·chatgpt·transformer·vllm