Files

1.9 KiB

name, description
name description
gitea-api 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

{
  "url": "https://git.fiorinis.com",
  "token": "your-personal-access-token"
}

You can override with env vars:

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 scripts/gitea.sh <command> [args]

Commands

# 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.