配置一次,从此每次往GitLab仓库 Push 代码或创建 MR,PawSQL 自动审核其中的 SQL 文件,审核结果直接回写到 GitLab 评论区。 开发者在 GitLab 里就能看到 SQL 有什么问题,DBA 不用手动翻代码找坑。 适用于 GitLab SaaS 和私有化部署。
步骤 | 在哪操作 | 做什么 |
|---|---|---|
一 | GitLab | 创建 Access Token |
二 | PawSQL | 注册 GitLab 平台实例 |
三 | PawSQL | 为平台添加监控项 |
四 | GitLab | 配置 Webhook,打通回调 |
五 | GitLab | 用户日常Push 或创建 MR,自动触发审核 |
前置条件: PawSQL 实例已部署 · GitLab 实例可用 · GitLab 账号需 Maintainer 或 Owner 权限 · PawSQL 账号需平台集成管理权限。
一句话了解PawSQL : PawSQL 是 AI 驱动的企业级智能 SQL 审核优化平台,全球个人用户超 2 万。核心能力包括:40+ 种查询重写算法、基于代价模型的智能索引推荐、内置 300 + 规则集保障 SQL 合规安全、覆盖开发到运维全生命周期治理并支持 CI/CD 集成、兼容 MySQL、Oracle、openGauss、TDSQL 等 20 余种数据库。
PawSQL 要通过 API 读取项目、分支、文件、Diff,并写入评论。需要一个 api scope 的 Personal Access Token。
登录 GitLab → 右上角头像 → Preferences → 左侧菜单 Access Tokens。

点击 Add new token,按以下配置填写:
配置项 | 填写 |
|---|---|
Token name | pawsql-integration(可自定义) |
Expiration date | 建议至少 1 年 |
Scopes | 勾选 api |

点击 Create personal access token。创建成功后立即复制保存 Token——刷新页面后将不可再次查看。

⚠️ Token 是敏感凭证,请勿泄露或提交到代码仓库。
登录 PawSQL → 左侧导航 平台集成 → 右上角 添加平台。

平台类型选 GitLab,填写配置:
配置项 | 说明 | 示例 |
|---|---|---|
平台名称 | 自定义 | 我的GitLab |
GitLab 地址 | API Base URL | SaaS: https://gitlab.com |
Access Token | 第一步创建的 Token | glpat-xxxxxxxxxxxx |
Webhook Secret | 自定义密钥,用于验证回调 | my-webhook-secret |

💡 Webhook Secret 可选,但生产环境建议启用——后续 GitLab 配置 Webhook 时需填入相同密钥。
点击创建,平台列表中出现刚添加的 GitLab,状态 已启用。

这一步决定审核什么、什么时候审、审完了怎么反馈。
平台列表中找到 GitLab → 点击 管理监控。进入后页面顶部显示 Webhook URL——先复制下来,第四步要用。

点击 添加监控,逐项配置:

① 选择仓库 — 下拉列表自动加载你有权限的项目。

② 选择分支 — 支持 glob 模式(* 匹配所有分支)。

③ 选择事件类型(可多选):

💡 两项都勾选最佳——覆盖 Push 和 MR 两种变更场景。
④ 选择审核模式:

⑤ 填写监控路径 — 只审核该路径下的 .sql / .xml 文件:
路径 | 范围 |
|---|---|
/ | 整个仓库 |
/sql | 仅 sql 目录 |
/db/migration | 仅迁移目录 |

⑥ 选择工作空间 — 决定审核使用的数据库类型和版本。

⑦ 选择规则模板 — 系统根据工作空间自动匹配默认模板,也可自定义。

⑧ 开启评论回写(强烈推荐)— 审核结果自动写回 GitLab 评论区。

💡 这是整套集成的核心价值。 开启后,开发者直接在 GitLab 的 Commit 或 MR 页面看到 SQL 审核反馈——查出什么问题、在哪一行、怎么修。不用切到 PawSQL。
⑨ 选择审核人(可多选)— 需要人工审查时通知。

点击 保存。监控项就绪。

把 PawSQL 的回调地址注册到 GitLab,让 Push 和 MR 事件能通知到 PawSQL。
GitLab 项目 → Settings → Webhooks → Add new webhook:

配置项 | 填写 |
|---|---|
URL | 第三步中复制的 Webhook URL |
Secret token | 第二步设置的 Webhook Secret(如有) |
Trigger | 勾选 Push events 和 Merge request events |
SSL verification | HTTPS 且证书有效时保持勾选 |
Webhook 列表中出现新条目,即配置成功。
可选验证:点击 Webhook 右侧 Test → Push events,返回 HTTP 200 即连接正常。

向监控分支推送含 SQL 的 Commit 即触发:
git checkout main
echo "CREATE TABLE users (id INT, name VARCHAR(255));" > db/migration/V001_create_users.sql
git add . && git commit -m "Add user table migration"
git push origin main从 feature 分支创建 MR 到监控分支,MR 含 SQL 文件变更即触发。



api scope 足矣——覆盖读项目/分支/文件、读 Diff、写评论和 MR Note。.sql 和 .xml(MyBatis Mapper)中的 SQL 语句。https://gitlab.company.com),确保 PawSQL 能访问。五分钟配完,以后每次提交 SQL,质量检查自动跑。 开发者省掉"等 DBA 检查"的等待,DBA 省掉"逐条翻 SQL"的重复劳动。