mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-28 05:26:16 +00:00
85 lines
2.4 KiB
Markdown
85 lines
2.4 KiB
Markdown
---
|
|
name: github
|
|
description: "GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries."
|
|
metadata:
|
|
{
|
|
"openclaw":
|
|
{
|
|
"emoji": "🐙",
|
|
"requires": { "bins": ["gh"] },
|
|
"install":
|
|
[
|
|
{
|
|
"id": "brew",
|
|
"kind": "brew",
|
|
"formula": "gh",
|
|
"bins": ["gh"],
|
|
"label": "Install GitHub CLI (brew)",
|
|
},
|
|
{
|
|
"id": "apt",
|
|
"kind": "apt",
|
|
"package": "gh",
|
|
"bins": ["gh"],
|
|
"label": "Install GitHub CLI (apt)",
|
|
},
|
|
],
|
|
},
|
|
}
|
|
---
|
|
|
|
# GitHub
|
|
|
|
Use `gh` for GitHub. Use `git` for local commits/branches/push/pull. Use code-reading tools for deep reviews.
|
|
|
|
## Auth
|
|
|
|
```bash
|
|
gh auth status
|
|
gh auth login
|
|
```
|
|
|
|
Gateway HOME can differ from operator HOME. If `gh` auth exists elsewhere, set `GH_CONFIG_DIR` in the gateway service env and restart.
|
|
|
|
## PRs
|
|
|
|
```bash
|
|
gh pr list --repo owner/repo --json number,title,state,author,url
|
|
gh pr view 55 --repo owner/repo --json title,body,author,files,commits,reviews,reviewDecision
|
|
gh pr checks 55 --repo owner/repo
|
|
gh pr diff 55 --repo owner/repo
|
|
gh pr create --repo owner/repo --title "feat: title" --body-file /tmp/pr.md
|
|
gh pr merge 55 --repo owner/repo --squash
|
|
```
|
|
|
|
URLs work directly: `gh pr view https://github.com/owner/repo/pull/55`.
|
|
|
|
## Issues
|
|
|
|
```bash
|
|
gh issue list --repo owner/repo --state open --json number,title,labels,url
|
|
gh issue view 42 --repo owner/repo --json title,body,comments,labels,state
|
|
gh issue create --repo owner/repo --title "Bug: ..." --body-file /tmp/issue.md
|
|
gh issue comment 42 --repo owner/repo --body-file /tmp/comment.md
|
|
gh issue close 42 --repo owner/repo --comment "Fixed in ..."
|
|
```
|
|
|
|
## CI/runs
|
|
|
|
```bash
|
|
gh run list --repo owner/repo --limit 10
|
|
gh run view <run-id> --repo owner/repo --json status,conclusion,headSha,url
|
|
gh run view <run-id> --repo owner/repo --log-failed
|
|
gh run rerun <run-id> --repo owner/repo --failed
|
|
```
|
|
|
|
## API
|
|
|
|
```bash
|
|
gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
|
|
gh api repos/owner/repo/labels --jq '.[].name'
|
|
gh api --cache 1h repos/owner/repo --jq '{stars: .stargazers_count, forks: .forks_count}'
|
|
```
|
|
|
|
Use `--json` + `--jq` for structured output. Use `--body-file` for comments/bodies containing backticks, shell snippets, env names, or user text.
|