SuperAPI AI 工具集

github-automation

部署与运维

查看项目

更新于 10-15 10:23

技能介绍

用途

GitHub 自动化操作技能,用于自动化 GitHub 平台上的各类操作。当用户需要推送代码到 GitHub、管理仓库、创建 PR、处理 Issue,或遇到 git push 失败时,可使用此技能。

主要能力

  • 仓库管理:创建公开或私有仓库、Fork 仓库、按关键词搜索仓库、读取/创建/更新文件、一次提交多个文件。
  • Pull Request 管理:从分支创建 PR、添加评论和审查意见、合并 PR、获取 PR 文件变更、查看 CI/CD 状态。
  • Issue 管理:创建 Issue、修改状态/标签/负责人、按条件搜索、添加评论、批量处理多个 Issue。
  • 分支管理:从指定分支创建新分支、列出提交历史、配置分支保护规则、选择合并方式(merge、squash、rebase)。
  • 代码搜索:在仓库中搜索代码片段、搜索 Issue 和 PR、查找 GitHub 用户、使用 GitHub 搜索语法进行高级查询。
  • CI/CD 工作流自动化:结合 GitHub Actions 实现自动化测试与自动化部署。

使用方式

推送代码时优先使用 GitHub MCP,而不是 git push。原因包括:不需要 Personal Access Token(使用已认证的 GitHub Copilot token)、避免认证问题(SSH key 未配置或 HTTPS token 过期时仍可工作)、支持批量提交、直接通过 GitHub API 更可靠。

方法1:使用 mcporter(推荐)

单个文件:

mcporter call github.push_files \
  owner=aAAaqwq \
  repo=my-repo \
  branch=master \
  message="feat: add new feature" \
  files='[{"path":"README.md","content":"file content"}]'

多个文件(使用 Python):

python3 << 'EOF'
import json
import subprocess

payload = {
    "owner": "aAAaqwq",
    "repo": "my-repo",
    "branch": "master",
    "message": "feat: update multiple files",
    "files": [
        {"path": "README.md", "content": "..."},
        {"path": "src/main.py", "content": "..."}
    ]
}

result = subprocess.run([
    'mcporter', 'call', 'github.push_files',
    f'owner={payload["owner"]}',
    f'repo={payload["repo"]}',
    f'branch={payload["branch"]}',
    f'message={payload["message"]}',
    f'files={json.dumps(payload["files"])}'
], capture_output=True, text=True)

print(result.stdout)
EOF

方法2:传统 git push(需要配置认证,仅在 MCP 不可用时使用)

git push origin master

查看所有可用 MCP 工具:

mcporter list github --schema

常用工具:

  • github.push_files - 推送多个文件到仓库
  • github.create_or_update_file - 创建或更新单个文件
  • github.get_file_contents - 获取文件内容
  • github.list_commits - 列出提交历史

工作流程

标准开发流程:创建分支 → 开发代码 → 提交变更 → 创建 PR → 代码审查 → 合并代码。

自动化发布流程:监听 push 或 tag 事件 → 运行测试 → 构建项目 → 创建 Release → 部署应用。

Issue 管理流程:创建 Issue → 分配任务 → 添加标签 → 跟踪进度 → 关闭 Issue。

适用场景

  • 创建新的 GitHub 仓库
  • 提交代码并创建 Pull Request
  • 批量处理 GitHub Issues
  • 自动化代码审查流程
  • 搜索代码库中的特定代码
  • 管理 GitHub Actions 工作流
  • 自动化代码审查、Issue 自动分类、发布管理、依赖更新等集成场景

限制与注意事项

  • 需遵守 GitHub API 速率限制。
  • 使用 Personal Access Token 认证(传统方式)。
  • 需正确处理 API 错误和重试。
  • 需保护敏感信息和密钥,不提交敏感信息,使用 GitHub Secrets 管理密钥,启用双因素认证,定期审查权限设置。
  • 遵循开源项目贡献指南。
  • 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。