
关于
通过 Rube MCP(Composio)自动化 GitLab 项目管理、Issue、合并请求、流水线、分支和用户操作。使用前请先搜索工具获取当前 Schema
name: gitlab-automation description: "通过 Rube MCP (Composio) 自动化 GitLab 项目管理、议题、合并请求、流水线、分支和用户操作。始终先搜索工具以获取当前 schema。" risk: critical source: community date_added: "2026-02-27"
通过 Rube MCP 实现 GitLab 自动化
通过 Composio 的 GitLab 工具包自动化 GitLab 操作,包括项目管理、议题跟踪、合并请求工作流、CI/CD 流水线监控、分支管理和用户管理。
前置条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)
- 通过
RUBE_MANAGE_CONNECTIONS使用工具包gitlab建立活跃的 GitLab 连接 - 始终先调用
RUBE_SEARCH_TOOLS获取当前工具 schema
设置
获取 Rube MCP:在你的客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。
- 通过确认
RUBE_SEARCH_TOOLS有响应来验证 Rube MCP 可用 - 使用工具包
gitlab调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,按照返回的认证链接完成 GitLab OAuth
- 在运行任何工作流之前确认连接状态显示为 ACTIVE
核心工作流
1. 管理议题
使用场景:用户想要在 GitLab 项目中创建、更新、列出或搜索议题
工具调用顺序:
GITLAB_GET_PROJECTS- 查找目标项目并获取其 ID [前置条件]GITLAB_LIST_PROJECT_ISSUES- 列出和筛选项目议题 [必需]GITLAB_CREATE_PROJECT_ISSUE- 创建新议题 [创建时必需]GITLAB_UPDATE_PROJECT_ISSUE- 更新现有议题(标题、标签、状态、指派人)[更新时必需]GITLAB_LIST_PROJECT_USERS- 查找用于指派的用户 ID [可选]
关键参数:
id:项目 ID(整数)或 URL 编码路径(例如"my-group/my-project")title:议题标题(创建时必需)description:议题正文(最大 1,048,576 字符)labels:逗号分隔的标签名称(例如"bug,critical")add_labels/remove_labels:添加或移除标签而不替换全部state:按"all"、"opened"或"closed"筛选state_event:"close"或"reopen"更改议题状态assignee_ids:用户 ID 数组;使用[0]取消所有指派issue_iid:项目内部议题 ID(更新时必需)milestone:按里程碑标题筛选search:在标题和描述中搜索scope:"created_by_me"、"assigned_to_me"或"all"page/per_page:分页(默认 per_page: 20)
注意事项:
id接受整数项目 ID 或 URL 编码路径;错误的 ID 会产生 4xx 错误issue_iid是项目内部 ID(显示为 #42),与全局议题 ID 不同labels字段中的标签会替换所有现有标签;使用add_labels/remove_labels进行增量更改- 将
assignee_ids设为空数组不会取消指派;使用[0]代替 updated_at字段需要管理员或项目/群组所有者权限
2. 管理合并请求
使用场景:用户想要列出、筛选或审查项目中的合并请求
工具调用顺序:
GITLAB_GET_PROJECT- 获取项目详情并验证访问权限 [前置条件]GITLAB_GET_PROJECT_MERGE_REQUESTS- 列出和筛选合并请求 [必需]GITLAB_GET_REPOSITORY_BRANCHES- 验证源/目标分支 [可选]GITLAB_LIST_ALL_PROJECT_MEMBERS- 查找审查者/指派人 [可选]
关键参数:
id:项目 ID 或 URL 编码路径state:"opened"、"closed"、"locked"、"merged"或"all"scope:"created_by_me"(默认)、"assigned_to_me"或"all"source_branch/target_branch:按分支名称筛选author_id/author_username:按 MR 作者筛选assignee_id:按指派人筛选(使用None表示未指派,Any表示已指派)reviewer_id/reviewer_username:按审查者筛选labels:逗号分隔的标签筛选search:在标题和描述中搜索wip:"yes"表示草稿 MR,"no"表示非草稿order_by:"created_at"(默认)、"title"、"merged_at"、"updated_at"view:"simple"返回最少字段iids[]:按特定 MR 内部 ID 筛选
注意事项:
- 默认
scope是"created_by_me",会限制结果;使用"all"获取完整列表 author_id和author_username互斥reviewer_id和reviewer_username互斥approved筛选需要mr_approved_filter功能标志(默认禁用)- 大型 MR 历史可能很嘈杂;使用筛选器和适度的
per_page值
3. 管理项目和仓库
使用场景:用户想要列出项目、创建新项目或管理分支
工具调用顺序:
GITLAB_GET_PROJECTS- 列出所有可访问的项目(带筛选)[必需]GITLAB_GET_PROJECT- 获取特定项目的详细信息 [可选]GITLAB_LIST_USER_PROJECTS- 列出项目
兼容工具
Claude CodeCursor
标签
后端开发
