コンテンツにスキップ

GitHub CLI拡張でPull Requestのメトリクスを収集する

$ gh extension install hectcastro/gh-metrics
上記のコマンドで GitHub CLI(gh コマンド)の拡張機能がインストールできる。これは Pull Request のメトリクスを収集するものでコードレビューにどれだけ時間がかかっているか知ることができる。フィルタリングや CSV 出力ができる。MkDocs の都合で表示がずれるがいくつか例をのせる。

$ gh metrics --repo cli/cli
┌──────┬─────────┬───────────┬───────────┬───────────────┬──────────────────────┬──────────┬──────────────┬───────────────────┬──────────────────────┬─────────────────────────┐
│   PR │ COMMITS │ ADDITIONS │ DELETIONS │ CHANGED FILES │ TIME TO FIRST REVIEW │ COMMENTS │ PARTICIPANTS │ FEATURE LEAD TIME │ FIRST TO LAST REVIEW │ FIRST APPROVAL TO MERGE │
├──────┼─────────┼───────────┼───────────┼───────────────┼──────────────────────┼──────────┼──────────────┼───────────────────┼──────────────────────┼─────────────────────────┤
│ 6029 │       1 │         3 │         2 │             1 │ 26m                  │        1 │            4 │ 1h9m              │ 40m                  │ 40m                     │
│ 6019 │       2 │         8 │         0 │             1 │ 19h13m               │        1 │            4 │ 23h15m            │ --                   │ 3h58m                   │
│ 6008 │       1 │         1 │        12 │             2 │ 12h19m               │        1 │            4 │ 185h5m            │ 167h54m              │ 4h51m                   │
│ 6004 │       1 │        18 │         0 │             1 │ 149h59m              │        3 │            5 │ 208h47m           │ 6h7m                 │ 58h48m                  │
│ 5974 │       1 │         1 │         1 │             1 │ 130h54m              │        1 │            5 │ 262h58m           │ 6h55m                │ 178h34m                 │
└──────┴─────────┴───────────┴───────────┴───────────────┴──────────────────────┴──────────┴──────────────┴───────────────────┴──────────────────────┴─────────────────────────┘
1
2
3
4
5
6
7
8
$ gh metrics --repo cli/cli --start 2022-03-21 --end 2022-03-22
┌──────┬─────────┬───────────┬───────────┬───────────────┬──────────────────────┬──────────┬──────────────┬───────────────────┬──────────────────────┬─────────────────────────┐
│   PR │ COMMITS │ ADDITIONS │ DELETIONS │ CHANGED FILES │ TIME TO FIRST REVIEW │ COMMENTS │ PARTICIPANTS │ FEATURE LEAD TIME │ FIRST TO LAST REVIEW │ FIRST APPROVAL TO MERGE │
├──────┼─────────┼───────────┼───────────┼───────────────┼──────────────────────┼──────────┼──────────────┼───────────────────┼──────────────────────┼─────────────────────────┤
│ 5339 │       4 │         6 │         3 │             1 │ 2m                   │        0 │            3 │ 1h12m             │ 59m                  │ 1h9m                    │
│ 5336 │       1 │         2 │         2 │             2 │ 7m                   │        0 │            1 │ 2h30m             │ --                   │ 2h24m                   │
│ 5327 │       1 │         1 │         1 │             1 │ 41h57m               │        1 │            4 │ 65h44m            │ 23h21m               │ 23h36m                  │
└──────┴─────────┴───────────┴───────────┴───────────────┴──────────────────────┴──────────┴──────────────┴───────────────────┴──────────────────────┴─────────────────────────┘
1
2
3
4
5
6
$ gh metrics --repo cli/cli --start 2022-03-21 --end 2022-03-22 --query "author:josebalius"
┌──────┬─────────┬───────────┬───────────┬───────────────┬──────────────────────┬──────────┬──────────────┬───────────────────┬──────────────────────┬─────────────────────────┐
│   PR │ COMMITS │ ADDITIONS │ DELETIONS │ CHANGED FILES │ TIME TO FIRST REVIEW │ COMMENTS │ PARTICIPANTS │ FEATURE LEAD TIME │ FIRST TO LAST REVIEW │ FIRST APPROVAL TO MERGE │
├──────┼─────────┼───────────┼───────────┼───────────────┼──────────────────────┼──────────┼──────────────┼───────────────────┼──────────────────────┼─────────────────────────┤
│ 5339 │       4 │         6 │         3 │             1 │ 2m                   │        0 │            3 │ 1h12m             │ 59m                  │ 1h9m                    │
└──────┴─────────┴───────────┴───────────┴───────────────┴──────────────────────┴──────────┴──────────────┴───────────────────┴──────────────────────┴─────────────────────────┘
1
2
3
4
5
$ gh metrics --repo cli/cli --start 2022-03-21 --end 2022-03-22 --csv
PR,Commits,Additions,Deletions,Changed Files,Time to First Review,Comments,Participants,Feature Lead Time,First to Last Review,First Approval to Merge
5339,4,6,3,1,00:02,0,3,01:12,00:59,01:09
5336,1,2,2,2,00:07,0,1,02:30,00:00,02:24
5327,1,1,1,1,41:57,1,4,65:44,23:21,23:36

参考