跳转至

讨论

讨论(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