gitee
v1.0.0Gitee operations via OpenAPI and git: repositories, pull requests, issues, comments, and file contents. Use when: (1) inspecting or creating Gitee pull requests, (2) listing or creating repository issues, (3) reading repository files from the Gitee API, (4) working with gitee.com remotes from the te...
Installation
Gitee Skill
Use git for clone, fetch, branch, and push operations. Use curl + jq for structured Gitee API calls.
When to Use
✅ USE this skill when:
- Checking Gitee pull requests, branches, or repository metadata
- Listing or creating issues on a Gitee repository
- Reading repository files through the Gitee API
- Automating Gitee workflows from the terminal when no dedicated CLI is available
When NOT to Use
❌ DON'T use this skill when:
- Working with GitHub repositories → use the
githubskill - Doing local-only git work with no Gitee interaction → use
gitdirectly - Handling browser-only flows such as login, captcha, or SSO approval
Setup
- Create a Gitee personal access token with the repository permissions you need.
- Export the API base URL and token:
export GITEE_API="https://gitee.com/api/v5"
export GITEE_ACCESS_TOKEN="..."
- Never print, commit, or paste the token into chat. Keep it in environment/config only.
Remote Patterns
Common Gitee remotes:
https://gitee.com/owner/repo.git
[email protected]:owner/repo.git
Inspect the current repo:
git remote -v
git remote get-url origin
API Conventions
- Gitee OpenAPI examples commonly pass OAuth2 credentials as
access_token. - Prefer
curl -fsSso HTTP failures surface clearly. - Prefer
jq -ncto build JSON request bodies instead of hand-escaped strings. - Repository issue APIs differ from GitHub: many issue routes use
/repos/{owner}/issuesand pass the repo name as arepofield.
Common Commands
Pull Requests
List open pull requests:
OWNER=owner
REPO=repo
curl -fsS --get "$GITEE_API/repos/$OWNER/$REPO/pulls"
--data-urlencode "access_token=$GITEE_ACCESS_TOKEN"
--data-urlencode "state=open" |
jq '.[] | {number, title, state, author: .user.login}'
View one pull request:
PR_NUMBER=12
curl -fsS --get "$GITEE_API/repos/$OWNER/$REPO/pulls/$PR_NUMBER"
--data-urlencode "access_token=$GITEE_ACCESS_TOKEN"
Create a pull request:
HEAD_BRANCH="feature-branch"
BASE_BRANCH="main"
TITLE="feat: add gitee support"
BODY="Summary of the change"
curl -fsS -X POST "$GITEE_API/repos/$OWNER/$REPO/pulls"
-H "Content-Type: application/json"
-d "$(jq -nc
--arg access_token "$GITEE_ACCESS_TOKEN"
--arg title "$TITLE"
--arg head "$HEAD_BRANCH"
--arg base "$BASE_BRANCH"
--arg body "$BODY"
'{access_token: $access_token, title: $title, head: $head, base: $base, body: $body}')" |
jq '{number, title, html_url, state}'
Issues
List issues for a repository:
curl -fsS --get "$GITEE_API/repos/$OWNER/issues"
--data-urlencode "access_token=$GITEE_ACCESS_TOKEN"
--data-urlencode "repo=$REPO"
--data-urlencode "state=open" |
jq '.[] | {number, title, state}'
Create an issue:
TITLE="Bug: unexpected failure"
BODY="Steps to reproduce..."
curl -fsS -X POST "$GITEE_API/repos/$OWNER/issues"
-H "Content-Type: application/json"
-d "$(jq -nc
--arg access_token "$GITEE_ACCESS_TOKEN"
--arg repo "$REPO"
--arg title "$TITLE"
--arg body "$BODY"
'{access_token: $access_token, repo: $repo, title: $title, body: $body}')" |
jq '{number, title, state, html_url}'
Repository Contents
Read a file:
FILE_PATH="README.md"
curl -fsS --get "$GITEE_API/repos/$OWNER/$REPO/contents/$FILE_PATH"
--data-urlencode "access_token=$GITEE_ACCESS_TOKEN"
Create or update file contents use the same path with POST or PUT. Build the JSON body with jq -nc and include the commit message plus content fields required by the endpoint.
Git Transport
Clone from Gitee:
git clone "https://gitee.com/$OWNER/$REPO.git"
Push the current branch:
git push origin HEAD
Add a dedicated Gitee remote:
git remote add gitee "[email protected]:$OWNER/$REPO.git"
git push gitee HEAD
Useful jq Filters
Open PR titles:
jq -r '.[] | "#(.number) (.title)"'
Issue numbers and links:
jq -r '.[] | "#(.number) (.html_url)"'
Notes
- Prefer API calls when you need structured metadata, filtering, or automation.
- Prefer
gitwhen you need branch, commit, clone, fetch, or push behavior. - Gitee OpenAPI docs: https://gitee.com/api/v5/swagger
- If an operation is missing here, look it up in the OpenAPI docs and keep the same
access_token+curlpattern.