【openclaw实用Skill】github 技能

张开发
2026/4/20 14:04:09 15 分钟阅读

分享文章

【openclaw实用Skill】github 技能
使用 gh CLI 与 GitHub 交互。使用 gh issue、gh pr、gh run 和 gh api 处理问题、PR、CI 运行和高级查询。技能概述github 技能提供了一个命令行界面来与 GitHub 进行交互。用户可以使用 gh CLI 工具执行各种操作包括管理 Issues、Pull Requests、CI/CD 工作流运行以及执行高级 API 查询。该技能支持在不在 git 目录中时指定 --repo owner/repo 参数或直接使用 URL 进行操作。大多数命令都支持 --json 输出和 --jq 过滤方便结构化数据处理。主要功能Issues 管理: 使用 gh issue 命令列出、创建、查看和关闭 IssuesPull Requests 管理: 使用 gh pr 命令管理 Pull RequestsCI/CD 监控: 使用 gh run 命令查看和管理 GitHub Actions 工作流运行CI 状态检查: 检查 PR 的 CI 状态高级 API 查询: 使用 gh api 命令访问其他子命令不可用的数据结构化输出: 支持 --json 和 --jq 进行结构化数据输出和过滤工作流日志查看: 查看工作流运行的日志特别是失败的步骤触发条件在以下情况下应该调用此技能:用户需要管理 GitHub Issues用户需要创建、查看或管理 Pull Requests用户需要检查 CI/CD 状态用户需要查看工作流运行日志用户需要执行高级 GitHub API 查询用户需要获取结构化的 GitHub 数据使用场景PR CI 状态检查用户需要检查特定 Pull Request 的 CI 状态确认所有检查是否通过。工作流运行监控用户需要查看最近的 GitHub Actions 工作流运行了解构建和部署状态。失败日志查看用户需要查看工作流运行中失败的步骤日志以便调试问题。高级 API 查询用户需要访问通过标准 gh 命令不可用的 GitHub API 数据。结构化数据处理用户需要获取 GitHub 数据的 JSON 格式输出并进行过滤和处理。处理过程1. Pull Requests 管理使用 gh pr 命令管理 Pull Requests- gh pr checks 55 --repo owner/repo: 检查 PR #55 的 CI 状态- gh pr view 55 --repo owner/repo: 查看 PR #55 的详细信息- gh pr list --repo owner/repo: 列出所有 PR2. CI/CD 工作流监控使用 gh run 命令监控 GitHub Actions 工作流- gh run list --repo owner/repo --limit 10: 列出最近 10 次工作流运行- gh run view run-id --repo owner/repo: 查看特定工作流运行的详细信息- gh run view run-id --repo owner/repo --log-failed: 仅查看失败步骤的日志3. 高级 API 查询使用 gh api 命令执行高级查询- gh api repos/owner/repo/pulls/55: 获取 PR #55 的完整 API 数据- gh api repos/owner/repo/pulls/55 --jq .title, .state, .user.login: 使用 jq 过滤特定字段4. 结构化输出使用 --json 和 --jq 进行结构化数据输出- gh issue list --repo owner/repo --json number,title: 以 JSON 格式输出 Issue 的编号和标题- gh issue list --repo owner/repo --json number,title --jq .[] | \(.number): \(.title): 使用 jq 格式化输出输入要求使用此技能时,用户需要提供:仓库标识: owner/repo 格式的仓库标识如果不在 git 目录中PR/Issue 编号: 要操作的 Pull Request 或 Issue 的编号工作流运行 ID: 要查看的工作流运行的 IDAPI 端点: 要查询的 GitHub API 端点路径JQ 表达式: 可选用于过滤和格式化 JSON 输出输出字段: 可选指定要输出的 JSON 字段输出说明技能将提供:PR 信息: Pull Request 的详细信息CI 状态: PR 的 CI 检查状态工作流运行列表: 最近的工作流运行列表工作流运行详情: 特定工作流运行的详细信息日志输出: 工作流运行的日志特别是失败步骤的日志API 数据: GitHub API 返回的原始数据结构化数据: JSON 格式的结构化数据错误信息: 如果操作失败提供详细的错误信息使用示例示例 1: Pull Requests# 检查 PR #55 的 CI 状态gh pr checks 55 --repo owner/repo# 列出最近 10 次工作流运行gh run list --repo owner/repo --limit 10# 查看特定工作流运行gh run view run-id --repo owner/repo# 仅查看失败步骤的日志gh run view run-id --repo owner/repo --log-failed示例 2: API 高级查询# 获取 PR 的特定字段gh api repos/owner/repo/pulls/55 --jq .title, .state, .user.login# 获取 Issue 列表gh api repos/owner/repo/issues --jq .[] | select(.state open) | .title# 获取仓库信息gh api repos/owner/repo --jq .name, .description, .stargazers_count示例 3: JSON 输出# 以 JSON 格式输出 Issue 的编号和标题gh issue list --repo owner/repo --json number,title# 使用 jq 格式化输出gh issue list --repo owner/repo --json number,title --jq .[] | \(.number): \(.title)# 输出 PR 的详细信息gh pr view 55 --repo owner/repo --json title,state,author,mergeable示例 4: Issues 管理# 列出所有 Issuesgh issue list --repo owner/repo# 查看特定 Issuegh issue view 123 --repo owner/repo# 创建新 Issuegh issue create --repo owner/repo --title Bug report --body Description of the bug# 关闭 Issuegh issue close 123 --repo owner/repo示例 5: PR 管理# 列出所有 PRgh pr list --repo owner/repo# 查看特定 PRgh pr view 55 --repo owner/repo# 合并 PRgh pr merge 55 --repo owner/repo --merge# 添加 PR 审查评论gh pr review 55 --repo owner/repo --body Looks good to me!最佳实践指定仓库: 当不在 git 目录中时始终使用 --repo owner/repo 参数指定仓库。使用结构化输出: 对于脚本和自动化任务使用 --json 和 --jq 进行结构化数据处理。检查 CI 状态: 在合并 PR 前使用 gh pr checks 检查 CI 状态。查看失败日志: 使用 --log-failed 参数快速定位和调试失败的步骤。使用 API 查询: 当标准命令无法满足需求时使用 gh api 进行高级查询。过滤输出: 使用 jq 表达式过滤和格式化输出只获取需要的数据。批量操作: 使用 --json 输出结合 jq 进行批量操作和数据处理。下载地址此技能及相关工具可从以下地址下载https://github.com/openclaw/openclaw/tree/main/skills

更多文章