适用于 Openclaw 的 GitHub 工作流集成

一个零依赖 Python CLI,可通过 Git Data API 创建和列出 GitHub 拉取请求、检查提交状态,以及推送单个文件。

zhaoxinghua09-cell
v1.0.0
2026年10月17日
0
79
0

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install github-workflow-integration

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式
~/.openclaw/skills/
工作区
<project>/skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 github-workflow-integration。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

更倾向于下载?

获取包含原生技能文件的ZIP压缩包。

什么是 GitHub 工作流集成?

GitHub 工作流集成是一个轻量级命令行封装工具,用于执行选定的 GitHub REST API 操作,使用 Python 3.8+ 构建且仅依赖标准库。它可以创建和列出拉取请求、查询综合提交状态,并通过 Git Data API 顺序推送单个文件:blob → tree → commit → ref。Openclaw Skills 用户无需安装 Git、GitHub CLI 或第三方 Python 套件,即可自动化这些工作流。

身份验证使用用户提供的 Personal Access Token,命令运行时从 GITHUB_TOKEN 读取。令牌不会被保存或打印。写入操作可使用 --dry-run 预览;进行远程更改前,用户应确认目标仓库、分支和消息。这是一个专用集成工具,并非通用 GitHub 客户端。

GitHub 工作流集成 应用场景

  • 无需安装 gh CLI,即可通过脚本创建拉取请求。
  • 列出未关闭的拉取请求,并返回其编号、标题、分支和 URL。
  • 检查提交或 ref 的综合状态,以查看 CI 结果。
  • 在 CI 作业或受限环境中,使用 Git Data API 将一个本地文件推送到远程分支。
  • 更改仓库状态前,使用 --dry-run 预览写入请求。
  • 在没有第三方依赖的 Python 环境中使用 GitHub REST API 操作。

GitHub 工作流集成 工作原理

  1. 检查是否已设置 GITHUB_TOKEN。如果缺少该变量,CLI 会以代码 2 退出并提供设置指引,而不是尝试发送未经身份验证的请求。
  2. 使用目标 owner\/repo 和必需选项调用相应命令:pr create、pr list、status 或 push-file。
  3. 对于写入操作,先使用 --dry-run 运行,并在发送实际请求前确认仓库、分支和消息。
  4. Python CLI 向 GitHub REST API 发送请求。推送单个文件时,它会创建 blob、tree 和 commit,然后更新目标 ref。
  5. 查看结果:成功调用会返回可读详情,例如 PR 编号或 URL、状态、commit SHA。API 错误和网络错误会分别报告。
  6. 根据退出代码处理结果:0 表示成功,1 表示 API 或网络错误,2 表示用法错误或缺少令牌。401 可能表示令牌已过期或权限范围不足;404 可能表示仓库或分支不正确。

GitHub 工作流集成 配置指南

要求

  • Python 3.8 或更高版本。
  • 无需安装第三方 Python 套件、Git 或 GitHub CLI。
  • 一个具有目标操作所需 repo 范围的 GitHub Personal Access Token (PAT)。此 skill 使用 PAT 身份验证,而非 OAuth。

配置身份验证

在 GitHub 的 Settings → Developer settings → Personal access tokens 下创建 PAT,然后通过 GITHUB_TOKEN 环境变量提供。请勿提交令牌或将其放入命令输出。

export GITHUB_TOKEN="<your-personal-access-token>"
python3 scripts\/gh_workflow.py pr list --repo owner\/repo

运行命令

使用此 skill 的 scripts\/gh_workflow.py 入口。对于写入操作,请先预览,并在不使用 --dry-run 运行前核实请求的目标。

python3 scripts\/gh_workflow.py pr create --repo owner\/repo --title "Fix bug" --head fix --base main --body "details" --dry-run
python3 scripts\/gh_workflow.py status --repo owner\/repo --ref main
python3 scripts\/gh_workflow.py push-file --repo owner\/repo --path .\/local.txt --message "add local.txt" --branch main

GitHub 工作流集成 数据架构与分类体系

此 skill 是无状态 CLI:它不定义本地数据库、生成的元数据文件或令牌存储。输入为命令行参数,结果以人类可读的输出形式写入。

元素 详情
入口点 scripts\/gh_workflow.py
运行环境 Python 3.8+;仅使用标准库
身份验证 GITHUB_TOKEN 环境变量,在调用时读取
仓库标识符 owner\/repo
命令 pr create、pr list、status、push-file
试运行 --dry-run 预览请求结构,但不发送请求
输出 PR 详情、状态、commit SHA 或错误信息
退出代码 0 成功;1 API/网络错误;2 用法错误或缺少令牌

对于 push-file,Git Data API 工作流会创建 blob、构建 tree、创建 commit 并更新 ref。令牌不会写入磁盘、记录到日志或回显。

GitHub 工作流集成 高级特性

  • 无依赖 API 访问:使用 Python 标准库的网络功能,不需要第三方套件或子进程。
  • Git Data API 单文件推送:通过 blob → tree → commit → ref 顺序将文件写入远程分支;在无法正常执行 Git 推送时尤其有用。
  • 试运行预览:发送支持的写入操作前检查请求结构。
  • 明确的身份验证边界:要求用户创建 PAT 并将其放入 GITHUB_TOKEN;不会启动 OAuth 或打开浏览器。
  • 实用的错误处理:区分 API/网络错误与用法错误、缺少令牌错误,并提供适用于脚本的退出代码。
  • 专注的功能范围:涵盖 PR 创建与列出、综合提交状态和单文件推送。不处理合并、审查评论、发布、工作流调度或 GitHub App 安装。
  • 适用于 Openclaw Skills:为脚本和 CI 任务提供精简的 GitHub 工作流构件,适用于需要尽量减少依赖并避免凭据持久存储的场景。

SKILL.md


加载中

Openclaw 相关技能

METADATA

Github Stars: 0
forks: 0

精选*