用途
GitHub Automation 用于通过 GitHub API 与 gh CLI 命令完成 GitHub 上的常见操作。当用户提到 “GitHub”、“github.com”、分享 GitHub 链接,或提出 “create PR”、“my issues”、“repository” 等请求时适用。
主要能力
- 仓库(Repositories):创建、克隆、复刻(fork)、查看和管理仓库。
- 议题(Issues):创建、列出、查看、关闭、评论和添加标签。
- 拉取请求(Pull Requests):创建、审查、合并、列出和评论。
- 发布(Releases):创建发布并管理标签(tags)。
- 工作流(Workflows):查看和管理 GitHub Actions。
- Gists:创建和管理 gist。
- 搜索(Search):搜索仓库、议题、PR、代码和用户。
身份验证
使用以下命令验证:
gh auth status
使用方式
第一阶段:理解请求
- 明确用户需要的 GitHub 操作。
- 确定目标仓库(若未指定则询问)。
- 在执行破坏性操作前先确认。
第二阶段:执行操作
使用 gh CLI 命令,常见模式如下:
仓库操作
gh repo view <owner>/<repo>
gh repo clone <owner>/<repo>
gh repo create <name> --public/--private
gh repo list <owner>
议题操作
gh issue list --repo <owner>/<repo>
gh issue create --repo <owner>/<repo> --title "Title" --body "Body"
gh issue view <number> --repo <owner>/<repo>
gh issue close <number> --repo <owner>/<repo>
gh issue comment <number> --repo <owner>/<repo> --body "Comment"
拉取请求操作
gh pr list --repo <owner>/<repo>
gh pr create --repo <owner>/<repo> --title "Title" --body "Body"
gh pr view <number> --repo <owner>/<repo>
gh pr merge <number> --repo <owner>/<repo>
gh pr review <number> --repo <owner>/<repo> --approve/--comment/--request-changes
gh pr checks <number> --repo <owner>/<repo>
搜索操作
gh search repos <query>
gh search issues <query>
gh search prs <query>
gh search code <query>
GitHub Actions
gh run list --repo <owner>/<repo>
gh run view <run-id> --repo <owner>/<repo>
gh workflow list --repo <owner>/<repo>
发布
gh release list --repo <owner>/<repo>
gh release create <tag> --repo <owner>/<repo> --title "Title" --notes "Notes"
准则
- 不在克隆的仓库内时,始终指定
--repo <owner>/<repo>。 - 对于破坏性操作(删除、关闭、合并),先与用户确认。
- 需要以编程方式解析输出时使用
--json标志。 - 优雅地处理错误并给出修复建议。
- 创建议题/PR 时,使用清晰的标题和描述性正文。
第三阶段:汇报结果
- 总结已完成的操作。
- 提供相关链接(PR URL、议题编号等)。
- 如适用,建议后续步骤。
输出格式
列出条目时清晰格式化:
#123 - Issue title (open/closed) - @author
#456 - PR title (open/merged/closed) - @author
创建条目时始终报告:
- 所创建条目的编号/ID
- 指向该条目的直接 URL
- 任何相关状态信息
示例
创建议题:
gh issue create --repo <owner>/<repo> --title "Bug: Login fails" --body "Steps to reproduce..."
列出待审查的开放 PR:
gh pr list --repo <owner>/<repo> --state open --search "review:required"
以 JSON 获取 PR 详情:
gh pr view <number> --repo <owner>/<repo> --json title,state,reviews,checks
限制
关于收费、价格、平台支持范围等信息暂未提供。