如何通过GitHub API获取Pull Request评论线程?求对应API
当然可以实现!用GitHub REST API就能搞定
别担心,GitHub提供的REST API完全能满足你的需求,我给你拆解一下具体怎么做:
第一步:选对API端点
你需要根据评论类型选择对应的端点:- 如果你要获取PR里针对代码行的评审评论,使用这个端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments - 如果你要获取PR的整体讨论区评论(也就是PR页面顶部的普通讨论,和Issue评论逻辑一致),使用这个端点:
GET /repos/{owner}/{repo}/issues/{pull_number}/comments
(注:每个Pull Request本质上也是一个Issue,所以第二个端点能拿到PR的非代码行评论)
- 如果你要获取PR里针对代码行的评审评论,使用这个端点:
第二步:提取你需要的字段
API返回的每个评论对象里,刚好包含你要的所有信息:avatar:对应评论作者对象里的avatar_url字段author:对应作者对象里的login字段description:对应评论的body字段,这个字段会保留原始的换行格式,完全符合你要的dd\ntt这种多行内容的需求
第三步:转换为目标格式
拿到API返回的JSON数组后,你只需要遍历每个评论,提取对应字段组装成你想要的结构就行。举个JavaScript的简单示例:// 假设你已经通过fetch/axios拿到了API返回的comments数组 const formattedComments = comments.map(comment => ({ avatar: comment.user.avatar_url, author: comment.user.login, description: comment.body }));小提示
- 如果访问私有仓库,或者需要更高的API速率限制,记得带上你的GitHub个人访问令牌(PAT),在请求头里添加
Authorization: token YOUR_TOKEN - API有速率限制:公开仓库未认证请求每小时最多60次,认证后提升至5000次,使用时要注意哦
- 如果访问私有仓库,或者需要更高的API速率限制,记得带上你的GitHub个人访问令牌(PAT),在请求头里添加
内容的提问来源于stack exchange,提问作者Dot Support
相关产品推荐
相关产品推荐

