[ PROMPT_NODE_28060 ]
github-automation
[ SKILL_DOCUMENTATION ]
# 通过 Rube MCP 进行 GitHub 自动化
通过 Composio 的 GitHub 工具包自动化 GitHub 仓库管理、Issue 跟踪、PR 工作流、分支操作和 CI/CD。
## 前置条件
- 必须连接 Rube MCP (`RUBE_SEARCH_TOOLS` 可用)
- 通过 `RUBE_MANAGE_CONNECTIONS` 激活 GitHub 连接,工具包为 `github`
- 始终先调用 `RUBE_SEARCH_TOOLS` 以获取当前工具架构
## 设置
**获取 Rube MCP**:在客户端配置中添加 `https://rube.app/mcp` 作为 MCP 服务器。无需 API 密钥 — 只需添加端点即可使用。
1. 通过确认 `RUBE_SEARCH_TOOLS` 有响应来验证 Rube MCP 是否可用
2. 使用工具包 `github` 调用 `RUBE_MANAGE_CONNECTIONS`
3. 如果连接不是 ACTIVE,请按照返回的授权链接完成 GitHub OAuth
4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE
## 核心工作流
### 1. 创建和管理 Issue
**何时使用**:用户想要创建、列出或管理 GitHub Issue
**工具序列**:
1. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - 如果目标仓库未知,先找到它 [前置条件]
2. `GITHUB_LIST_REPOSITORY_ISSUES` - 列出现有 Issue(包含 PR) [必需]
3. `GITHUB_CREATE_AN_ISSUE` - 创建新 Issue [必需]
4. `GITHUB_CREATE_AN_ISSUE_COMMENT` - 在 Issue 中添加评论 [可选]
5. `GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS` - 按关键字跨仓库搜索 [可选]
**关键参数**:
- `owner`: 仓库所有者(用户名或组织),不区分大小写
- `repo`: 仓库名称(不含 .git 后缀)
- `title`: Issue 标题(创建时必需)
- `body`: Issue 描述(支持 Markdown)
- `labels`: 标签名称数组
- `assignees`: GitHub 用户名数组
- `state`: 'open', 'closed', 或 'all' 用于过滤
**陷阱**:
- `GITHUB_LIST_REPOSITORY_ISSUES` 同时返回 Issue 和 PR;检查 `pull_request` 字段以区分
- 只有拥有推送权限的用户才能设置负责人、标签和里程碑;否则会被静默丢弃
- 分页:`per_page` 最大为 100;需迭代页面直到为空
### 2. 管理 PR
**何时使用**:用户想要创建、审查或合并 PR
**工具序列**:
1. `GITHUB_FIND_PULL_REQUESTS` - 搜索并过滤 PR [必需]
2. `GITHUB_GET_A_PULL_REQUEST` - 获取详细的 PR 信息,包括可合并状态 [必需]
3. `GITHUB_LIST_PULL_REQUESTS_FILES` - 审查变更文件 [可选]
4. `GITHUB_CREATE_A_PULL_REQUEST` - 创建新 PR [必需]
5. `GITHUB_CREATE_AN_ISSUE_COMME