运行时依赖
安装命令
点击复制技能文档
GitLab GitLab 是一个基于 Web 的 DevOps 平台,提供版本控制、CI/CD 和问题跟踪。它主要被软件开发团队用于管理代码、自动化工作流以及协作项目。 官方文档:https://docs.gitlab.com/ee/api/
GitLab 概览 Project / Issue / Merge Request / Pipeline / User 按需使用 action 名称与参数。
与 GitLab 协作 本技能通过 Membrane CLI 与 GitLab 交互。Membrane 自动处理认证与凭证刷新——你只需关注集成逻辑,无需关心 auth plumbing。
安装 CLI 全局安装 Membrane CLI,以便在终端使用 membrane: npm install -g @membranehq/cli@latest
认证
membrane login --tenant --clientName=
交互环境会自动打开浏览器;无头环境会打印授权 URL,请用户在浏览器打开,看到 code 后执行:
membrane login complete
任意命令加 --json 可输出机器可读 JSON。
Agent 类型:claude、openclaw、codex、warp、windsurf 等,用于优化对应 harness 的工具表现。
连接到 GitLab
使用 membrane connection ensure 通过应用 URL 或域名查找或创建连接:
membrane connection ensure "https://gitlab.com/" --json
用户在浏览器完成认证,输出包含新连接 id。
URL 会被归一化为域名并与已知应用匹配;未匹配则自动创建应用并构建连接器。
若返回状态为 "READY",直接跳到步骤 2。
1b. 等待连接就绪
若状态为 BUILDING,轮询直至就绪:
npx @membranehq/cli connection get --wait --json
--wait 最长轮询 --timeout 秒(默认 30)。
结果状态说明:
READY — 连接完成,跳到步骤 2。
CLIENT_ACTION_REQUIRED — 需用户或代理操作,clientAction 对象描述所需动作:
clientAction.type
"connect" — 需认证(OAuth、API key 等)。
"provide-input" — 需补充信息。
clientAction.description — 人类可读说明。
clientAction.uiUrl(可选)— 预构建 UI 地址。
clientAction.agentInstructions(可选)— 给 AI 代理的程序化指引。
用户完成动作后,再次执行 membrane connection get --json 检查状态是否变为 READY。
CONFIGURATION_ERROR 或 SETUP_FAILED — 出错,查看 error 字段。
搜索动作
用自然语言描述需求并搜索:
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
务必在指定连接上下文中搜索。结果包含 id、name、description、inputSchema、outputSchema。
常用动作
Name | Key | Description
List Projects | list-projects | 获取认证用户可见项目列表
List Issues | list-issues | 获取项目问题列表
List Merge Requests | list-merge-requests | 获取项目合并请求列表
List Branches | list-branches | 获取项目分支列表
List Tags | list-tags | 获取项目标签列表
List Jobs | list-jobs | 获取项目任务列表
List Project Members | list-project-members | 获取项目成员列表
List Pipelines | list-pipelines | 获取项目流水线列表
List Groups | list-groups | 获取认证用户可见群组列表
List Commits | list-commits | 获取项目提交列表
List Users | list-users | 获取用户列表(可能需要管理员权限)
Get Project | get-project | 按 ID 或路径获取单个项目
Get Issue | get-issue | 获取单个问题
Get Merge Request | get-merge-request | 获取单个合并请求
Get Branch | get-branch | 获取单个分支
Create Issue | create-issue | 创建新问题
Create Merge Request | create-merge-request | 创建新合并请求
Create Project | create-project | 创建新项目
Update Issue | update-issue | 更新现有问题
Update Project | update-project | 更新现有项目