如何从GitHub生成代码审查报告?TFS迁移后的工具与方法咨询
在GitHub生成审计用代码审查报告的方案
原生功能快速导出PR详情报告
GitHub的Pull Request(PR)本身就涵盖了完整的代码审查全流程信息,完全可以作为审计用的代码审查报告来使用:
- 单PR导出:打开目标PR页面,点击右上角的「...」菜单选择「Print」,浏览器会生成包含PR基本信息、提交记录、代码变更、审查评论、批准记录、合并状态的打印预览,直接保存为PDF即可。
- 批量导出:用GitHub CLI工具执行命令,批量提取PR的审查数据:
把输出结果保存为文本,再按需转换成PDF或其他格式。gh pr view <PR编号> --json number,title,createdAt,mergedAt,reviewRequests,reviews,comments --template "{{.number}}: {{.title}}\n创建时间: {{.createdAt}}\n合并时间: {{.mergedAt}}\n\n审查记录:\n{{range .reviews}}- 审查人: {{.author.login}} 状态: {{.state}} 评论: {{.body}}\n{{end}}\n评论记录:\n{{range .comments}}- 评论人: {{.author.login}} 内容: {{.body}}\n{{end}}"
现成工具选项
- GitHub组织审计日志:在组织设置里找到「Audit log」,筛选代码审查相关事件(PR创建、审查提交、批准、合并等),导出CSV格式的日志,用于审计汇总统计。
- API脚本工具:用Python或其他语言写简单脚本,调用GitHub API拉取PR的审查和评论数据,自行整理成符合审计要求的格式。核心调用的接口是
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews和GET /repos/{owner}/{repo}/pulls/{pull_number}/comments。
自研工具思路
如果需要定制化的审计维度,比如统计审查时长、通过率等,可以自己开发小工具:
- 用脚本遍历仓库所有PR,提取关键审计字段:PR编号、标题、创建人、时间、审查人、审查状态、批准时间、合并状态、代码变更量、所有审查评论。
- 将数据导入Excel生成统计报表,或者直接生成结构化的Markdown/PDF报告,添加审计需要的汇总信息。
内容的提问来源于stack exchange,提问作者Dheena
相关产品推荐
相关产品推荐

