Release¶
Release 用于基于标签发布版本,并可挂载附件。通过 API 可以创建、更新、查询与删除 Release,取最新版本,获取附件上传地址并下载或删除附件。
对象¶
| 对象 | 说明 | 相关接口 |
|---|---|---|
| Release | 标签名、标题、说明、是否预发布、附件列表 | 获取仓库的所有Releases |
| 附件 | Release 的上传地址、下载与删除 | 获取Release附件上传地址 |
标识方式¶
- 仓库用
owner+repo,Release 用tag标识(多数接口的路径参数就是标签名)。 - 附件下载用
file_name,删除用attach_file_id,两者不是同一个标识。 - 最新 Release 的路径用
*占位。
常见任务¶
注意事项¶
- 按标签取 Release 有两条路径:
GET …/releases/{tag}与GET …/releases/tags/{tag},后者用于标签名与路径冲突的场景。 - 最新 Release 的路径是
GET /api/v5/repos/*/*/releases/latest,用*占位而非{owner}/{repo}。 - 上传附件是「先取 upload_url,再往返回的地址上传」,不是直接 POST 到 releases 接口。
- 附件下载用文件名
file_name,删除用附件 IDattach_file_id,两个接口的参数不能互换。 - Release 依附于标签,先有标签再发版;标签的增删在 Tag 分组。
接口列表¶
本模块共 9 个接口。
| # | 接口 | 方法与路径 | 说明 |
|---|---|---|---|
| 1 | 创建仓库Release | POST /api/v5/repos/{owner}/{repo}/releases |
用户调用此接口,进行创建仓库Release操作. |
| 2 | 更新仓库Release | PATCH /api/v5/repos/{owner}/{repo}/releases/{tag} |
用户调用此接口,进行更新仓库Release操作. |
| 3 | 获取Release附件上传地址 | GET /api/v5/repos/{owner}/{repo}/releases/{tag}/upload_url |
用户调用此接口,进行获取Release附件上传地址操作. |
| 4 | 获取仓库的单个Releases | GET /api/v5/repos/{owner}/{repo}/releases/{tag} |
用户调用此接口,进行获取仓库的单个Releases操作. |
| 5 | 获取仓库的最新的Release | GET /api/v5/repos/*/*/releases/latest |
用户调用此接口,进行获取仓库的最新的Release操作. |
| 6 | 根据Tag名称获取仓库的Release | GET /api/v5/repos/{owner}/{repo}/releases/tags/{tag} |
用户调用此接口,查询根据Tag名称获取仓库的Release操作. |
| 7 | 获取仓库的所有Releases | GET /api/v5/repos/{owner}/{repo}/releases |
用户调用此接口,进行获取仓库的所有Releases操作. |
| 8 | 下载仓库release附件 | GET /api/v5/repos/{owner}/{repo}/releases/{tag}/attach_files/{file_name}/download |
用户调用此接口,进行下载仓库release附件操作. |
| 9 | 删除Release附件 | DELETE /api/v5/repos/{owner}/{repo}/releases/{tag}/attach_files/{attach_file_id} |
用户调用此接口,进行删除Release附件操作. |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc