GitHub API 工具

👤 gaoren36-arch 📦 v1.0.0 ⭐ 4.1 ⬇️ 1.3K 下载
💻 开发编程 免费 🔑 需 API Key

📖 技能介绍


name: github description: GitHub 操作工具 - 通过 GitHub API 管理仓库、Issues、PRs、Actions 等 triggers: - github - GitHub - github issue - github pr - github repo


GitHub 操作工具

通过 GitHub REST API 管理仓库、Issues、PRs、Actions 等。

认证

需要设置 GitHub Token 环境变量:

# 在 openclaw 配置中设置
GITHUB_TOKEN=your_github_personal_access_token

Token 权限要求: - repo - 完整仓库操作 - read:user - 读取用户信息 - workflow - GitHub Actions 操作

推荐访问7w4.net获取更多AI技能。

核心功能

功能 说明
仓库信息 获取仓库详情、统计信息
Issues 列表、查看、创建、关闭、编辑
PR 列表、查看、创建、合并、审查
Commits 查看提交历史
Actions 查看 workflow、运行状态
搜索 搜索仓库、代码
文件操作 读取文件内容
用户信息 获取用户资料

使用方式

1. 设置 Token

~/.openclaw/openclaw.json 中配置:

{
  "env": {
    "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
  }
}

2. 仓库操作

# 获取仓库信息
github_get_repo owner=octocat repo=hello-world

# 获取仓库统计数据
github_get_repo_stats owner=octocat repo=hello-world

# 列出用户仓库
github_list_repos user=octocat type=all sort=updated

3. Issues 操作

# 列出仓库 issues
github_list_issues owner=octocat repo=hello-world state=open

# 查看单个 issue
github_get_issue owner=octocat repo=hello-world issue_number=1

# 创建 issue
github_create_issue owner=octocat repo=hello-world title="Bug: 登录失败" body="复现步骤..."

# 关闭 issue
github_close_issue owner=octocat repo=hello-world issue_number=1

# 编辑 issue
github_edit_issue owner=octocat repo=hello-world issue_number=1 title="新标题"

4. Pull Request 操作

# 列出 PRs
github_list_pulls owner=octocat repo=hello-world state=open

# 查看 PR
github_get_pull owner=octocat repo=hello-world pull_number=1

# 创建 PR
github_create_pull title="feat: 新功能" body="描述..." head=feature-branch base=main owner=octocat repo=hello-world

# 合并 PR
github_merge_pull owner=octocat repo=hello-world pull_number=1 merge_method=squash

# 查看 PR 文件变更
github_list_pull_files owner=octocat repo=hello-world pull_number=1

5. Commits 操作

# 获取提交历史
github_list_commits owner=octocat repo=hello-world per_page=10

# 查看单个提交
github_get_commit owner=octocat repo=hello-world ref=abc123

6. GitHub Actions

# 列出 workflows
github_list_workflows owner=octocat repo=hello-world

# 查看 workflow runs
github_list_workflow_runs owner=octocat repo=hello-world workflow_id=build

# 触发 workflow
github_dispatch_workflow owner=octocat repo=hello-world workflow_id=build ref=main

7. 搜索

# 搜索仓库
github_search_repos query="tetris language:javascript" sort=stars order=desc

# 搜索代码
github_search_code q="octocat filename:package.json"

# 搜索 issues
github_search_issues q="bug state:open repo:octocat/Hello-World"

8. 文件操作

# 获取文件内容
github_get_file owner=octocat repo=hello-world path=README.md

# 获取文件元信息(含 SHA)
github_get_file owner=octocat repo=hello-world path=README.md ref=main

9. 用户信息

# 获取当前用户
github_get_user

# 获取其他用户
github_get_user username=octocat

API 调用方式

使用 exec 工具调用 GitHub API:

# 格式
curl -H "Authorization: token $GITHUB_TOKEN" \
     -H "Accept: application/vnd.github.v3+json" \
     https://api.github.com/{endpoint}

# 示例:获取仓库信息
curl -H "Authorization: token $GITHUB_TOKEN" \
     -H "Accept: application/vnd.github.v3+json" \
     https://api.github.com/repos/octocat/hello-world

常用 API 端点

端点 说明
/repos/{owner}/{repo} 仓库信息
/repos/{owner}/{repo}/issues Issues 列表
/repos/{owner}/{repo}/pulls PRs 列表
/repos/{owner}/{repo}/commits 提交历史
/repos/{owner}/{repo}/actions/workflows Actions
/search/repositories 搜索仓库
/search/code 搜索代码
/user 当前用户

常见工作流

创建一个 Issue 并标记

1. github_create_issue 创建 issue
2. github_add_labels 添加标签
3. github_assign 添加负责人

审查 PR

1. github_get_pull 获取 PR 信息
2. github_list_pull_files 查看文件变更
3. github_create_review 创建审查意见

触发 CI/CD

1. github_list_workflows 查看可用 workflows
2. github_dispatch_workflow 触发指定 workflow

注意事项

  1. Rate Limits:未认证请求 60次/小时,认证后 5000次/小时
  2. Token 安全:不要把 token 暴露在代码中
  3. Pagination:大量数据需要分页处理
  4. API Version:使用 application/vnd.github.v3+json Accept header

错误处理

常见错误:

状态码 说明
401 Token 无效或过期
403 权限不足或 rate limit
404 资源不存在
422 验证失败

快速命令模板

# 查看仓库
curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/{owner}/{repo}

# 列出 open issues
curl -s -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/{owner}/{repo}/issues?state=open"

# 创建 issue
curl -s -X POST -H "Authorization: token $GITHUB_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"title":"标题","body":"内容"}' \
     https://api.github.com/repos/{owner}/{repo}/issues

🤖 AI 评测

这个 Skill 文档质量不错,功能覆盖范围广,GitHub 操作的各类场景都有涉及,说明也很详细。但它更像一份使用手册,而不是可以直接用的工具,因为它只告诉你怎么用,并没有提供实际能执行的代码。如果你想要一个能直接操作的 GitHub 助手,目前这个版本还不够完善。

📊 多维度评分

适应性4.3
规范性4
有效性4.4
可靠性3.5
可信度4.5

📁 包含文件 (2 个)

📄 SKILL.md 5.6 KB
📄 _meta.json 134 B