gitlink-cli/skills/gitlink-shared/references/api-reference.md

5.9 KiB
Raw Blame History

GitLink API 参考

认证端点

端点 方法 说明
/accounts/login POST 用户名密码登录
/users/me GET 获取当前用户信息

全局参数

参数 位置 说明
access_token Query OAuth2 Token自动注入
page Query 分页页码(默认 1
limit Query 每页条数(默认 20

响应格式

成功响应:

{
  "ok": true,
  "data": { ... },
  "meta": { "page": 1, "limit": 20, "total_count": 100 }
}

错误响应:

{
  "ok": false,
  "error": {
    "code": 401,
    "message": "无效token",
    "suggestion": "请先运行 gitlink-cli auth login 登录"
  }
}

常见错误码

错误码 含义 解决方案
401 未认证 运行 gitlink-cli auth login
403 权限不足 确认账户权限或联系项目管理员
404 资源不存在 检查 owner/repo/id 是否正确
422 参数校验失败 检查请求参数
-1 GitLink 业务错误 查看 message 字段获取详情

API 特殊性

必需字段

操作 必需字段 说明
Issue 创建 done_ratio: 0 数据库约束
Issue 更新 当前 subjectdescription 即使只改状态也应保留,避免清空描述
Release 查看 version_id 不能用 tag_name

端点前缀

操作 前缀 示例
分支操作 /v1/ /v1/:owner/:repo/branches
Issue 评论 /issues/:id/journals
仓库操作 /:owner/:repo/info

已知 Bug

Bug 影响 状态
Branch 删除返回"不存在" 无法删除分支 待 GitLink 修复
Release 删除返回"不存在" 无法删除发布 待 GitLink 修复
Create File 返回"已存在" 无法通过 API 创建文件 待 GitLink 修复
api 命令路径以 / 开头会被解析为本地路径 返回 HTML 而非 JSON 去掉路径前导 / 即可

消息通知API

GitLink 的通知功能通过「消息」API 实现。

端点

端点 方法 说明
/users/{owner}/messages.json GET 获取用户消息列表
/users/{owner}/messages/{id}/read POST 标记单条消息已读
/users/{owner}/messages/{id} DELETE 删除消息
/users/{owner}/messages/settings GET 平台消息设置
/users/{owner}/messages/settings/list GET 用户消息设置列表
/users/{owner}/messages/settings/update POST 更新用户消息设置

查询参数GET messages.json

参数 类型 说明
status integer 1=未读2=已读,不传=全部
type string notification=系统消息,atme=@我消息,不传=全部
page integer 页码(默认 1
limit integer 每页条数(默认 20

响应字段

字段 类型 说明
total_count integer 总消息数
unread_notification integer 未读系统消息数
unread_atme integer 未读@我消息数
messages[].id integer 消息唯一 ID
messages[].status integer 1=未读2=已读
messages[].content string HTML 格式的消息内容
messages[].source enum 消息来源类型(见下方枚举表)
messages[].notification_url string 消息跳转链接
messages[].created_at string 创建时间YYYY-MM-DD HH:mm:ss
messages[].time_ago string 相对时间描述
messages[].type string notificationatme
messages[].sender object 发送者信息id, name, login, image_url

source 枚举值

枚举值 含义 分类
IssueAssigned 有新指派给我的疑修 Issue
IssueExpire 疑修截止日期到达最后一天 Issue
IssueAtme 在疑修中@我 @提及
IssueChanged 疑修状态变更 Issue
IssueDeleted 疑修被删除 Issue
IssueJournal 疑修有新评论 Issue
ProjectIssue 项目新 Issue Issue
PullRequestAssigned 有新指派给我的 PR PR
PullReuqestAtme 在 PR 中@我(官方 API 拼写如此 @提及
PullRequestChanged PR 状态变更 PR
PullRequestClosed PR 被关闭 PR
PullRequestJournal PR 有新评论 PR
PullRequestMerged PR 已合并 PR
ProjectPullRequest 项目有新 PR PR
ProjectJoined 加入项目 系统
ProjectLeft 离开项目 系统
ProjectMemberJoined 新成员加入项目 系统
ProjectMemberLeft 成员离开项目 系统
ProjectForked 项目被 Fork 系统
ProjectPraised 项目被点赞 系统
ProjectRole 项目角色变更 系统
ProjectFollowed 项目被关注 系统
ProjectDeleted 项目被删除 系统
ProjectTransfer 项目转让 系统
ProjectSettingChanged 项目设置变更 系统
ProjectMilestone 新里程碑 系统
ProjectMilestoneCompleted 里程碑完成 系统
ProjectVersion 新版本发布 系统
ProjectOpenDevOps DevOps 引擎开通 系统
OrganizationJoined 加入组织 系统
OrganizationLeft 离开组织 系统
OrganizationRole 组织角色变更 系统
LoginIpTip 登录 IP 提示 其他

调用示例

# 获取未读通知
gitlink-cli api GET "users/lindiwen23/messages.json" --query "status=1&limit=20" --format json

# 获取 @我 的通知
gitlink-cli api GET "users/lindiwen23/messages.json" --query "type=atme&status=1" --format json

# 标记单条已读
gitlink-cli api POST "users/lindiwen23/messages/740214/read" --format json

# ⚠️ 路径不要以 / 开头,否则会被解析为本地文件路径