You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于通过GitHub API v3获取文件行内评论及编辑删除的咨询

GitHub API v3: 处理文件特定行的评论

嘿,我来帮你理清楚这个问题——GitHub API v3确实没有专门返回单个文件特定行评论的独立端点,但咱们可以通过现有接口间接实现你要的获取、编辑和删除操作,具体操作方式如下:

获取文件特定行的评论

文件里的行评论本质上属于两种场景:Pull Request的代码审查评论,或者提交(commit)上的评论。针对不同场景,你可以这么做:

  • Pull Request中的行评论:调用 GET /repos/{owner}/{repo}/pulls/{pull_number}/comments 端点,它会返回该PR下所有的代码审查评论。每个评论对象里包含 path(对应目标文件的路径)、position 或 original_position(对应行号相关的位置标识)。拿到列表后,你只需要自己过滤出匹配目标文件路径和对应行位置的评论即可。
  • 提交(Commit)中的行评论:如果评论是直接打在某个commit上的,调用 GET /repos/{owner}/{repo}/commits/{commit_sha}/comments 端点,同样可以通过评论对象里的 path 和 position 字段过滤出特定行的评论。

编辑或删除目标评论

一旦你过滤得到了目标评论的 id,就可以用以下接口进行操作:

  • 编辑评论:
    • 对于PR评论:使用 PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id} 接口,请求体中带上更新后的 body 参数即可完成编辑。
    • 对于Commit评论:使用 PATCH /repos/{owner}/{repo}/comments/{comment_id} 接口,同样传入更新后的 body 即可。
  • 删除评论:
    • 对于PR评论:调用 DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id} 即可删除目标评论。
    • 对于Commit评论:调用 DELETE /repos/{owner}/{repo}/comments/{comment_id} 完成删除。

小提示

需要注意的是,position 字段对应的是文件的“当前版本行号”,而 original_position 对应的是PR中文件的“原始版本行号”,如果PR里文件有过改动,记得根据你的需求选择对应的字段来过滤哦。

内容的提问来源于stack exchange,提问作者elcharrua

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:02:35