Files
rui-docs/ai-skills/gitea-api.md
T

99 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Gitea API 使用指南
## Token 位置
```
~/.config/gitea/token
```
## 创建 Issue(工单)
**步骤 1**: 准备 JSON 文件(避免转义问题)
```bash
cat > /tmp/issue.json << 'EOF'
{
"title": "[API-REQ] 简要描述所需接口",
"body": "## 接口地址\n\nPUT /xxx/xxx\n\n## 功能描述\n\n描述需要什么功能\n\n## 期望行为\n\n1. ...\n2. ...\n\n## 当前问题\n\n- ...\n\n## 前端使用场景\n\n描述为什么需要这个接口\n\n## 优先级\n\n高/中/低"
}
EOF
```
**步骤 2**: 调用 Gitea API 创建 Issue
```bash
TOKEN=$(cat ~/.config/gitea/token)
curl -s -X POST \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/json" \
-d @/tmp/issue.json \
"https://git.dev.vifo.cc/api/v1/repos/{owner}/{repo}/issues"
```
**示例**(提交到 rui-framework 仓库):
```bash
TOKEN=$(cat ~/.config/gitea/token)
curl -s -X POST \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/json" \
-d @/tmp/issue.json \
"https://git.dev.vifo.cc/api/v1/repos/rui/rui-framework/issues"
```
**返回示例**
```json
{
"id": 7,
"number": 2,
"title": "[API-REQ] 用户编辑接口密码字段处理优化",
"html_url": "https://git.dev.vifo.cc/rui/rui-framework/issues/2",
"state": "open"
}
```
## 获取 Issue
```bash
TOKEN=$(cat ~/.config/gitea/token)
curl -s -H "Authorization: token ${TOKEN}" \
"https://git.dev.vifo.cc/api/v1/repos/{owner}/{repo}/issues/{id}"
```
## 回复 Issue 评论
```bash
TOKEN=$(cat ~/.config/gitea/token)
curl -s -X POST \
-H "Authorization: token ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{"body": "✅ 已完成\n\n完成内容..."}' \
"https://git.dev.vifo.cc/api/v1/repos/{owner}/{repo}/issues/{id}/comments"
```
## 常用端点
| 操作 | 方法 | 端点 |
|------|------|------|
| 创建 Issue | POST | `/api/v1/repos/{owner}/{repo}/issues` |
| 获取 Issue | GET | `/api/v1/repos/{owner}/{repo}/issues/{id}` |
| 创建评论 | POST | `/api/v1/repos/{owner}/{repo}/issues/{id}/comments` |
| 获取仓库 | GET | `/api/v1/repos/{owner}/{repo}` |
## Git 远程地址
```
gitea ssh://git@git.dev.vifo.cc:222/rui/{repo}.git
```
**推送命令**: `git push gitea main`(注意不是 origin
## 注意事项
1. **JSON 内容**: 建议使用文件方式(`-d @file.json`)避免转义问题
2. **Labels**: 创建 Issue 时 labels 参数需要传入 ID 数组,不是字符串数组
3. **返回字段**: `number` 是 Issue 编号,`id` 是内部 ID
4. **仓库映射**:
- rui-framework: `/system/*`, `/user/*`
- rui-cashier: `/cashier/*`