SuperAPI AI 工具集

gob-curl

部署与运维

查看项目

更新于 10-15 23:45

技能介绍

用途:当用户给出 Gerrit CL 链接(如 https://dart-review.googlesource.com/c/sdk/+/478860 或 sdk~478860),或要求查看 CL 状态、审查评论、CI 结果时使用。核心约束:只允许 GET 请求,不得执行 POST、PUT 或 DELETE。

主要能力与常用方式:用 run_command 执行 gob-curl 访问 Gerrit REST API。API 的 change-id 由项目与 CL 编号组成,如 sdk~478860;URL 必须用单引号包裹以避免 ~ 和 ? 的通配问题。获取综合详情:gob-curl 'https://dart-review.googlesource.com/changes/<change-id>/detail?o=LABELS&o=MESSAGES&o=CURRENT_REVISION&o=CURRENT_COMMIT&o=CURRENT_FILES'。获取行内评论:gob-curl 'https://dart-review.googlesource.com/changes/<change-id>/comments'。获取审查者与投票:.../reviewers。获取当前修订提交信息:.../revisions/current/commit。检查 tryjob 与测试结果:.../detail?o=MESSAGES&o=LABELS,查看 messages 数组中的 CI 状态。

本地分支定位 CL:先 git log -1 找到 Change-Id,再 gob-curl 'https://dart-review.googlesource.com/changes/?q=<Change-Id>',从响应提取 project 与 _number 组成 change-id。

tryjob 失败排查:从 Gerrit 消息中的 Buildbucket 链接(如 cr-buildbucket.appspot.com/build/8689486480122051441)取 Build ID,用 bb get -steps <BUILD_ID> 找 FAILURE 步骤,再 bb log <BUILD_ID> "<STEP_NAME>" 获取日志;部分 bb 命令需认证,遇到 "Login required" 请用户运行 bb auth-login。

替代方式:无 bb CLI 时可用 curl 调用 Buildbucket API 获取失败步骤与日志 URL,再从 logs.chromium.org 构造原始日志 URL。

注意事项:输出以魔术字符串 )]}' 开头,解析时需处理;大日志下载可能阻塞会话,可后台执行并轮询状态或输出到文件后检查。缺失信息暂未提供。