81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
---
|
|
name: gitea-api
|
|
description: Interact with Gitea via REST API (no tea CLI). Use for repo creation, issues, PRs, releases, branches, user info, and cloning on any Gitea instance.
|
|
---
|
|
|
|
# Gitea API Skill
|
|
|
|
REST-based Gitea control without `tea`.
|
|
|
|
## Setup
|
|
|
|
Create config file at:
|
|
`~/.clawdbot/credentials/gitea/config.json`
|
|
|
|
```json
|
|
{
|
|
"url": "https://git.fiorinis.com",
|
|
"token": "your-personal-access-token"
|
|
}
|
|
```
|
|
|
|
You can override with env vars:
|
|
|
|
```bash
|
|
export GITEA_URL="https://git.fiorinis.com"
|
|
export GITEA_TOKEN="your-token"
|
|
```
|
|
|
|
Token scope should include at least `repo`.
|
|
|
|
## Use
|
|
|
|
Run via wrapper (works in bash chat commands):
|
|
|
|
```bash
|
|
bash scripts/gitea.sh <command> [args]
|
|
```
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
# list repos
|
|
bash scripts/gitea.sh repos
|
|
|
|
# create repo
|
|
bash scripts/gitea.sh create --name my-repo --description "My repo"
|
|
bash scripts/gitea.sh create --name my-repo --private
|
|
bash scripts/gitea.sh create --org Home --name my-repo
|
|
|
|
# issues
|
|
bash scripts/gitea.sh issues --owner Home --repo my-repo
|
|
bash scripts/gitea.sh issue --owner Home --repo my-repo --title "Bug" --body "Details"
|
|
|
|
# pull requests
|
|
bash scripts/gitea.sh pulls --owner Home --repo my-repo
|
|
bash scripts/gitea.sh pr --owner Home --repo my-repo --head feat-1 --base main --title "Add feat"
|
|
|
|
# releases
|
|
bash scripts/gitea.sh release --owner Home --repo my-repo --tag v1.0.0 --name "Release 1.0.0"
|
|
|
|
# branches
|
|
bash scripts/gitea.sh branches --owner Home --repo my-repo
|
|
|
|
# user info
|
|
bash scripts/gitea.sh user # current user
|
|
bash scripts/gitea.sh user luke # specific user
|
|
|
|
# clone
|
|
bash scripts/gitea.sh clone Home/my-repo
|
|
bash scripts/gitea.sh clone Home/my-repo ./my-repo
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Works with Gitea/Forgejo-compatible APIs.
|
|
- Config lookup order:
|
|
1. `/home/node/.openclaw/workspace/.clawdbot/credentials/gitea/config.json`
|
|
2. `~/.clawdbot/credentials/gitea/config.json`
|
|
3. env var overrides (`GITEA_URL`, `GITEA_TOKEN`)
|
|
- Do not commit tokens.
|