PR Stats - 代码审查统计的GitHub Actions
1. 项目介绍
PR Stats是一个GitHub Actions,用于生成关于Pull Request(PR)的有用统计信息。这个工具可以帮助开发团队更好地了解代码审查的过程,从而找到改进的方法。PR Stats可以收集关于单个PR的详细信息,例如PR的平均合并时间、审查者的响应时间等,并将这些统计信息保存为CSV文件。
2. 项目快速启动
要使用PR Stats,你需要在GitHub仓库中创建一个工作流文件.github/workflows/pr-stats.yml
。以下是一个基本的配置示例:
name: PR Stats
on: [workflow_dispatch]
jobs:
pr-stats:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: PR Stats
uses: naver/pr-stats@v1.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
在这个配置中,我们定义了一个名为PR Stats
的工作流,它在接收到workflow_dispatch
事件时触发。工作流运行在最新版本的Ubuntu上,并执行以下步骤:
- 使用
actions/checkout@v4
来检出仓库。 - 使用
naver/pr-stats@v1.0.0
来执行PR Stats动作,并提供GitHub的token以授权操作。
3. 应用案例和最佳实践
结果物作为PR生成
以下配置会在./stats/
目录下生成包含pr.csv
、prList.csv
和user.csv
的PR:
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
统计信息自定义
你可以在仓库根目录下创建一个stats.config.js
文件来自定义输出的统计信息。例如,以下配置仅输出PR的number
、title
和fileCount
字段:
module.exports = {
pr: ["number", "title", "fileCount"],
prList: [],
user: ["id"]
};
4. 典型生态项目
PR Stats可以与其他GitHub Actions和工具集成,以构建更强大的自动化工作流。例如,你可以结合以下项目:
actions/checkout@v4
:用于检出代码。peter-evans/create-pull-request@v5
:用于自动创建PR。actions/github@v4
:用于访问GitHub API。
通过这些工具的组合,可以创建一个自动化的统计收集和报告系统,以优化代码审查流程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考