当前位置: 首页 > news >正文

在 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
http://www.lryc.cn/news/456523.html

相关文章:

  • 解决新版Android studio不能连接手机的问题
  • arcgis for js点位渲染与实际坐标不一致且popupTemplate偏移
  • 定点数和浮点数的详细介绍(一)定义、范围、位宽
  • Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
  • 『网络游戏』动态界面制作创建角色UI【02】
  • CMake 教程跟做与翻译 2
  • Linux 之 安装软件、GCC编译器、Linux 操作系统基础
  • [CTF夺旗赛] CTFshow Web13-14 详细过程保姆级教程~
  • 【Matlab】Matlab 导入数据.csv或者.xlsx文件,然后使用这些数据来绘制图表
  • Awaken Likho恶意组织利用高级网络工具对俄罗斯政府发起“猛攻”
  • 【洛谷】P10938 Vani和Cl2捉迷藏 的题解
  • 三角形面积 python
  • 【C++第十七章】二叉搜索树
  • Springboot 文件上传
  • 简单认识redis-5 jdbc 与 jedis 使用的区别
  • Unity3d动画插件DoTween使用指南
  • 学习函数知识
  • 案例-表白墙简单实现
  • 和鲸科技创始人范向伟:拐点即将来临,AI产业当前的三个瓶颈
  • 基于函数计算FC 部署 ComfyUI实现AI生图 的优势
  • 瑞萨IDE:CS+ for CC编译过程中执行脚本文件
  • 在 CentOS 上安装 Docker 的步骤
  • 【C#生态园】探索地理信息系统软件套件与库:功能、API和应用
  • Jupyter的使用分享
  • 24龙信比赛复现
  • PHP反射机制
  • 使用阿里云试用资源快速部署web应用-dofaker为例
  • 需求11——解决字段无法清空的两个小bug
  • mysql学习教程,从入门到精通,SQL 创建索引(CREATE INDEX 语句)(35)
  • Pikachu-Cross-Site Scripting-DOM型xss_x