讨论¶
讨论(Discussion)用于在仓库或组织中发起话题、收集意见。通过 API 可以在仓库或组织下创建、更新、删除讨论,管理评论与对评论的回复,并按分类、标题、热度筛选列表。
仓库与组织两套接口的形态对称,参数只差一个作用域标识。
对象¶
| 对象 | 说明 | 相关接口 |
|---|---|---|
| 仓库讨论 | 标题、正文、所属分类、标签、评论数 | 创建仓库讨论 |
| 组织讨论 | 组织空间下的讨论,字段与仓库讨论一致 | 创建组织讨论 |
| 评论 | 讨论下的评论,正文支持 Markdown | 创建仓库讨论评论 |
| 回复 | 对某条评论的回复,按评论 ID 定位 | 回复仓库讨论评论 |
| 分类 | 讨论所属分类,创建与更新时指定 | 更新仓库讨论 |
| 投票 | 讨论详情里返回的投票与投票选项(只读) | 获取项目讨论详情 |
标识方式¶
- 仓库讨论用
owner+repo标识仓库,用number标识讨论编号,路径段是discuss。 - 组织讨论用
org标识组织,编号同样用number。 - 评论用
id(组织侧写作comment_id)标识,回复路径为comment/{id}/reply。
常见任务¶
注意事项¶
- 路径段是
discuss(不是discussions),评论段是单数comment、回复是comment/{id}/reply,少一个字母就会 404。 - 获取仓库讨论评论回复列表的接口路径用
*占位:GET /api/v5/repos/*/*/discuss/*/comment/*/reply,与同组其他{owner}/{repo}写法不一致。 - 仓库讨论与组织讨论是两套接口,
/repos/{owner}/{repo}/discuss…与/orgs/{org}/discuss…不能互换使用。 - 评论与回复的正文都支持 Markdown,提交时按 Markdown 原文传入。
- 详情接口会返回投票与投票选项,但本组没有创建投票或写标签的接口,这两个字段是只读的。
接口列表¶
本模块共 22 个接口。
| # | 接口 | 方法与路径 | 说明 |
|---|---|---|---|
| 1 | 创建仓库讨论 | POST /api/v5/repos/{owner}/{repo}/discuss |
该接口用于在指定仓库中创建新的讨论,创建时需要提供讨论标题、讨论内容及所属分类。成功创建后返回讨论的编号、标题、内容… |
| 2 | 更新仓库讨论 | PUT /api/v5/repos/{owner}/{repo}/discuss/{number} |
该接口用于更新指定仓库中的讨论,可修改讨论的标题、内容与所属分类,并返回讨论的完整信息。 |
| 3 | 删除仓库讨论 | DELETE /api/v5/repos/{owner}/{repo}/discuss/{number} |
该接口用于删除指定仓库中的讨论,通过仓库所属空间地址、仓库路径和讨论编号定位目标讨论,删除成功后返回空响应体。 |
| 4 | 创建仓库讨论评论 | POST /api/v5/repos/{owner}/{repo}/discuss/{number}/comment |
该接口用于在指定仓库的讨论下创建一条评论,支持以 Markdown 格式提交评论内容,并返回新创建的评论及其作者、讨… |
| 5 | 回复仓库讨论评论 | POST /api/v5/repos/{owner}/{repo}/discuss/{number}/comment/{id}/reply |
该接口用于在指定仓库的讨论中对特定评论进行回复,通过提交 Markdown 格式的评论内容完成回复操作,并返回所创建… |
| 6 | 更新仓库讨论评论 | PUT /api/v5/repos/{owner}/{repo}/discuss/{number}/comment/{id} |
该接口用于更新指定仓库讨论下某条评论的内容,支持以 Markdown 格式提交新的评论内容,并返回更新后的评论详情信… |
| 7 | 删除仓库讨论评论 | DELETE /api/v5/repos/{owner}/{repo}/discuss/{number}/comment/{id} |
该接口用于删除指定仓库中某条讨论下的指定评论,删除成功后无响应体内容返回。 |
| 8 | 获取项目讨论列表 | GET /api/v5/repos/{owner}/{repo}/discuss |
该接口用于获取指定仓库下的项目讨论列表,支持按页码和每页数量进行分页,可按创建时间或评论数量排序并控制升降序,还可根… |
| 9 | 获取项目讨论详情 | GET /api/v5/repos/{owner}/{repo}/discuss/{number} |
该接口用于获取指定仓库的讨论详情,返回讨论的标题、正文内容、作者信息、分类、标签、评论总数,以及讨论关联的投票与投票… |
| 10 | 获取项目讨论评论列表 | GET /api/v5/repos/{owner}/{repo}/discuss/{number}/comment |
该接口用于获取指定仓库中项目讨论下的评论列表,支持按页码与每页数量分页查询,也可按评论的创建时间或热度值进行排序,并… |
| 11 | 获取项目讨论评论回复列表 | GET /api/v5/repos/*/*/discuss/*/comment/*/reply |
该接口用于获取指定仓库中项目讨论的评论回复列表,返回回复内容、作者信息及点赞数等数据,并支持分页查询。 |
| 12 | 创建组织讨论 | POST /api/v5/orgs/{org}/discuss |
该接口用于在指定组织下创建新的讨论,调用时需提供讨论标题、讨论内容(markdown 格式)及所属分类名称,创建成功… |
| 13 | 更新组织讨论 | PUT /api/v5/orgs/{org}/discuss/{number} |
该接口用于更新指定组织的讨论内容,支持修改讨论的标题、正文内容(markdown 格式)及所属分类,并返回更新后的讨… |
| 14 | 删除组织讨论 | DELETE /api/v5/orgs/{org}/discuss/{number} |
该接口用于删除指定组织下的讨论。通过组织路径与讨论编号定位目标讨论,删除成功后返回 200 状态码,响应体为空。 |
| 15 | 创建组织讨论评论 | POST /api/v5/orgs/{org}/discuss/{number}/comment |
该接口用于在指定组织的讨论下创建评论,需提供组织路径、讨论编号以及Markdown格式的评论内容,创建成功后返回包含… |
| 16 | 回复组织讨论评论 | POST /api/v5/orgs/{org}/discuss/{number}/comment/{id}/reply |
该接口用于回复指定组织下的讨论评论,支持以 Markdown 格式提交回复内容,并返回所创建回复的详细信息(如回复内… |
| 17 | 更新组织讨论评论 | PUT /api/v5/orgs/{org}/discuss/{number}/comment/{id} |
该接口用于更新指定组织讨论下的评论内容,提交以 Markdown 格式书写的新评论内容即可完成更新,并返回更新后评论… |
| 18 | 删除组织讨论评论 | DELETE /api/v5/orgs/{org}/discuss/{number}/comment/{id} |
该接口用于删除指定组织讨论下的评论。需指定组织路径、讨论编号及评论id,删除成功后返回200状态码且响应体为空。 |
| 19 | 获取组织讨论列表 | GET /api/v5/orgs/{org}/discuss |
该接口用于获取指定组织的讨论列表,支持按页码和每页数量进行分页查询,可依据创建时间或评论数量排序,并能通过标题和描述… |
| 20 | 获取组织讨论详情 | GET /api/v5/orgs/{org}/discuss/{number} |
该接口用于根据组织路径与讨论编号获取指定组织的讨论详情,返回讨论标题、正文内容、作者信息、分类、评论数量、投票信息及… |
| 21 | 获取组织讨论评论列表 | GET /api/v5/orgs/{org}/discuss/{number}/comment |
该接口用于获取指定组织下某个讨论的评论列表,支持分页与按创建时间、热度值排序,返回内容包含评论内容、点赞数、回复数及… |
| 22 | 获取组织讨论评论回复列表 | GET /api/v5/orgs/{org}/discuss/{number}/comment/{comment_id}/reply |
该接口用于获取指定组织讨论下某条评论的回复列表,返回每条回复的作者信息、内容及 Markdown 格式内容、点赞数和… |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc