排障时先记录代码平台运行 ID、仓库、提交、事件 ID、PawSQL 工单 ID 和发生时间。分享日志前应删除令牌、密码、连接串和敏感 SQL 常量。
根据现象排查 Webhook、SQL 提取、认证、工单处理、质量门禁和结果回传问题。
准备工作
先记录代码平台运行 ID、仓库、提交、事件 ID、PawSQL 工单 ID 和发生时间。
操作步骤
从观察到的现象出发,确定失败阶段并应用对应的检查项。
Webhook 未触发
检查事件是否已启用、目标分支是否匹配、Webhook 地址是否正确,以及代码平台是否能访问 PawSQL。查看平台投递记录中的 HTTP 状态、超时和 TLS 错误。
投递成功但没有审核工单
检查签名密钥、事件类型、仓库白名单、项目映射、工作空间和审核策略。确认事件不是被分支或路径过滤规则跳过。
未识别到 SQL
- 确认比较基线和当前提交正确;
- 检查浅克隆是否缺少比较历史;
- 检查目录、扩展名、编码和迁移脚本格式;
- 确认 SQL 没有仅存在于生成产物或压缩文件中;
- 在日志中输出文件列表,不输出敏感 SQL 全文。
API 认证失败
检查服务地址、令牌是否过期、账号是否被停用以及目标项目权限。确认代理没有删除认证头,流水线 Secret 没有被错误覆盖或带入多余空白字符。
工单长时间未完成
查看 PawSQL 工单状态和队列,确认 SQL 规模、并发量和工作空间连接状态。流水线应在达到总超时后停止轮询,输出工单 ID 供后续查询,不应无限等待。
结果与流水线不一致
确认门禁读取的是最新提交对应的工单,检查严重级别映射、策略版本和失败开放配置。重复运行时应更新同一检查,而不是让旧工单覆盖新状态。
证书或代理错误
检查域名、证书链、企业 CA、代理例外和 DNS。不要通过关闭 TLS 验证作为长期解决方案。
收集支持信息
- PawSQL 版本和部署方式;
- 代码或 CI/CD 平台及版本;
- 集成方式和事件类型;
- 脱敏后的仓库、分支和文件路径;
- 工单 ID、运行 ID、时间和完整错误码;
- 最小可复现步骤;
- 已完成的检查和结果。
确认问题已定位到正确阶段并解决,且共享的支持信息已脱敏。
支持材料不得包含访问令牌、数据库密码、生产连接串或未经批准的完整业务 SQL。