扣子(coze)可构建轻量gitlab ci失败自动诊断bot:配置gitlab个人访问令牌(需api和read_api权限)→在coze创建bot并接入gitlab api→上传错误码知识库→配置http插件调用jobs接口→编写工作流提取失败作业信息→调用llm推理输出根因与修复命令→通过webhook实现失败流水线自动触发诊断并推送结果。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在GitLab CI/CD流水线中频繁遇到构建失败但日志不明确、错误归因困难的情况,又没有专职SRE介入时,需要一种轻量、可复用、能快速定位根因的自动化诊断机制——扣子(Coze)作为低代码Bot平台,配合GitLab API,可实现实时抓取失败作业详情→结构化解析→调用LLM推理→返回可操作结论的闭环。
配置GitLab个人访问令牌并授权
登录GitLab → 左上角头像 → Settings → Access Tokens → 填写Token名称(如coze-diag-token)→ 在Scopes中【必须勾选 api 和 read_api 两项】 → 点击Create personal access token → 页面立即显示完整token字符串 → 【务必立刻复制保存到安全位置,刷新后不可见】。
在扣子中创建诊断Bot并接入GitLab API
进入Coze平台 → 创建新Bot → 命名为“GitLab流水线医生” → 在“知识库”中上传一份本地Markdown文档,内容为GitLab常见CI错误码对照表(如137=OOM、134=SIGABRT、1=通用命令失败) → 开启“插件”功能 → 新建HTTP请求插件 → 设置Method为GET → URL填入https://gitlab.example.com/api/v4/projects/{project_id}/pipelines/{pipeline_id}/jobs?per_page=100 → 在Headers中添加PRIVATE-TOKEN: {your_token} → 将{project_id}和{pipeline_id}设为插件输入参数 → 保存插件。
编写诊断逻辑工作流
在Bot的“工作流”中新建对话节点:
第一步:接收用户发送的GitLab项目URL和失败流水线ID(例如https://gitlab.example.com/group/project/-/pipelines/123456)→ 提取project_id(用URL路径分割取倒数第三段)和pipeline_id(倒数第二段);
第二步:调用上一步配置的HTTP插件,传入project_id和pipeline_id → 获取全部作业列表JSON;
CNB 云原生构建平台的 Git 操作技能,支持代码克隆、提交、推送、分支管理、Merge Request 管理、流水线触发与结果读取。初次使用需收集用户的 Git 用户名和邮箱。
第三步:筛选status为failed的作业 → 取其id、name、failure_reason、duration字段 → 拼接成结构化文本;
第四步:将该文本喂给内置LLM(选择Claude-3-haiku模型)→ 提示词设定为:“你是一名资深DevOps工程师。请基于以下GitLab CI失败作业信息,直接指出最可能的3个根因,并给出1条具体修复命令。不要解释推理过程,只输出根因编号+描述+命令。格式:① [原因] → [命令]”;
第五步:将LLM输出原样返回给用户。
设置GitLab Webhook触发自动诊断
进入目标GitLab项目 → Settings → Webhooks → URL填写扣子Bot的Webhook接收地址(可在Coze Bot「发布」页获取)→ Trigger选择Pipeline events → 勾选“Only trigger for failed pipelines” → Secret Token填入任意8位随机字符串(后续在Coze插件中用于校验)→ 点击Add webhook。
在Coze Bot的HTTP插件中,新增一个Webhook入口节点 → 验证Secret Token签名 → 解析payload中的project_id和pipeline_id → 自动执行前述诊断工作流 → 将结果以站内消息或群聊@方式推送给预设的运维成员。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










