API 文档
iForge 提供 RESTful API 和交互式 API 文档。
Swagger UI
启动服务后访问:
http://localhost:8081/swagger/
可在 Swagger UI 中查看所有 API 端点、参数、响应格式,并直接测试。
认证方式
API 支持两种认证方式:
Session Cookie
浏览器登录后自动携带 session cookie,适用于 Web 前端调用。
Bearer Token
curl -H "Authorization: Bearer <token>" \
http://localhost:8081/api/v1/user
Token 通过个人访问令牌(Access Token)获取:
- 进入「设置」→「访问令牌」
- 创建新令牌,获取 token 字符串
- 在 API 请求头中使用
常用端点
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/auth/login | 登录 |
| POST | /api/v1/auth/register | 注册 |
| GET | /api/v1/user | 获取当前用户 |
| GET | /api/v1/repos | 仓库列表 |
| POST | /api/v1/repos | 创建仓库 |
| GET | /api/v1/repos/:owner/:repo | 仓库详情 |
| GET | /api/v1/repos/:owner/:repo/issues | Issue 列表 |
| POST | /api/v1/repos/:owner/:repo/issues | 创建 Issue |
| GET | /api/v1/repos/:owner/:repo/merge-requests | MR 列表 |
| GET | /api/v1/notifications | 通知列表 |
| GET | /api/v1/ws | WebSocket 连接 |
外置 Runner API
CI/CD 外置 Runner 使用独立的 Bearer token 认证:
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/cicd/runner/register | 注册 Runner |
| POST | /api/v1/cicd/runner/jobs/claim | 认领 Job |
| POST | /api/v1/cicd/runner/jobs/:id/logs | 上传日志 |
| PUT | /api/v1/cicd/runner/jobs/:id/status | 更新 Job 状态 |
限流
- 通用 API:100 请求/分钟/用户
- 未认证请求按 IP 限流
- Runner API 不受通用限流限制