用途:该技能封装 GitLab REST API(基础地址 https://${GITLAB_HOST}/api/v4),用于在对话中操作 GitLab 的仓库、Issue、合并请求与 CI/CD 流水线。使用前需设置 GITLAB_HOST 与 GITLAB_TOKEN 环境变量,请求通过 PRIVATE-TOKEN 头认证。
主要能力:验证身份(GET /user);列出与筛选项目(membership、owned、search、visibility);获取项目详情;列出、查看、创建、更新、关闭/重开、删除 Issue;为 Issue 添加评论;列出、查看、创建、合并合并请求;列出流水线、查看流水线详情与作业;搜索用户;创建项目。
使用方式:以 curl 调用 API,例如 curl -s "https://$GITLAB_HOST/api/v4/user" --header "PRIVATE-TOKEN: $GITLAB_TOKEN"。创建或更新操作将 JSON 写入 /tmp/gitlab_request.json 后用 -d @ 传入。项目 ID 可用数字或 URL 编码路径(如 mygroup%2Fmyproject)。
限制与注意:Issue 与 MR 使用项目内 iid;项目路径需将斜杠编码为 %2F;大结果集用 per_page 与 page 分页;合并前确认 merge_status 为 can_be_merged;遇 429 需退避重试;删除 Issue 需管理员或所有者权限;自托管实例将 GITLAB_HOST 设为域名(不含 https://)。连接失败可运行 zero doctor check-connector --env-name GITLAB_TOKEN 或 zero doctor check-connector --url https://gitlab.com/api/v4/user --method GET 排查。