# Gitea API 参考 ## 认证 ```bash # 从 ~/.netrc 获取 token TOKEN=$(grep gitea.ephron.ren -A1 ~/.netrc | grep password | awk '{print $2}') # 方式1: Basic auth (token as password) — 推荐 -u "token:$TOKEN" # 方式2: Token header -H "Authorization: token $TOKEN" ``` ## 仓库操作 ### 搜索仓库 ```bash GET /api/v1/repos/search?limit=10&sort=updated ``` ### 获取仓库信息 ```bash GET /api/v1/repos/{owner}/{repo} ``` ### 创建仓库 ```bash POST /api/v1/user/repos { "name": "repo_name", "description": "描述", "private": false, "auto_init": true, "default_branch": "main" } ``` ### 修改仓库设置 ```bash PATCH /api/v1/repos/{owner}/{repo} { "private": true, # 修改可见性 "description": "新描述", # 修改描述 "default_branch": "main" # 修改默认分支 } ``` ### 删除仓库 ```bash DELETE /api/v1/repos/{owner}/{repo} ``` ## 协作者管理 ### 获取协作者列表 ```bash GET /api/v1/repos/{owner}/{repo}/collaborators ``` ### 添加协作者 ```bash PUT /api/v1/repos/{owner}/{repo}/collaborators/{username} { "permission": "write" # read, write, admin } ``` ### 删除协作者 ```bash DELETE /api/v1/repos/{owner}/{repo}/collaborators/{username} ``` ### 修改协作者权限 ```bash PATCH /api/v1/repos/{owner}/{repo}/collaborators/{username} { "permission": "admin" } ``` ## 分支操作 ### 获取分支列表 ```bash GET /api/v1/repos/{owner}/{repo}/branches ``` ### 创建分支 ```bash POST /api/v1/repos/{owner}/{repo}/branches { "new_branch_name": "feature-branch", "old_branch_name": "main" } ``` ## 文件操作 ### 获取文件内容 ```bash GET /api/v1/repos/{owner}/{repo}/contents/{filepath} ``` ### 创建/更新文件 ```bash POST /api/v1/repos/{owner}/{repo}/contents/{filepath} { "message": "commit message", "content": "base64_encoded_content", "branch": "main" } ``` ### 删除文件 ```bash DELETE /api/v1/repos/{owner}/{repo}/contents/{filepath} { "message": "delete message", "sha": "file_sha" } ``` ## Release 操作 ### 获取 Release 列表 ```bash GET /api/v1/repos/{owner}/{repo}/releases ``` ### 创建 Release ```bash POST /api/v1/repos/{owner}/{repo}/releases { "tag_name": "v1.0.0", "name": "Release 1.0.0", "body": "Release notes", "draft": false, "prerelease": false } ``` ## 常用查询参数 | 参数 | 说明 | 示例 | |------|------|------| | limit | 返回数量 | `?limit=10` | | page | 分页 | `?page=2` | | sort | 排序字段 | `?sort=updated` | | order | 排序方向 | `?order=desc` | | q | 搜索关键词 | `?q=keyword` | ## 响应格式 成功响应通常返回 JSON 对象或数组。错误响应: ```json { "message": "error description", "url": "https://gitea.ephron.ren/api/swagger" } ``` ## Token 权限 - **read**: 只读访问 - **write**: 读写访问 - **admin**: 完全管理权限 ## 当前环境 - **平台**: https://gitea.ephron.ren - **Agent 用户**: Elaina (token in ~/.netrc) - **主用户**: ephron_ren