kakakakakku blog

Weekly Tech Blog: Keep on Learning!

GitHub App「Pull Request Size」プルリクエストのサイズをラベル化しよう

GitHub App「Pull Request Size」を使うとプルリクエストの差分量から "サイズを意味する" ラベルを付けてくれて便利❗️やってることは単純だけど「このプルリクエストは大きすぎるな〜」という判断材料にも使える.個人アカウントなら無料なのも嬉しい✌️

github.com

ラベル一覧

ラベルに関しては以下の「計6種類」が用意されている!

  • size/XS : 差分量 0-9 行
  • size/S : 差分量 10-29 行
  • size/M : 差分量 30-99 行
  • size/L : 差分量 100-499 行
  • size/XL : 差分量 500-999 行
  • size/XXL : 差分量 1000 行 以上

差分量の計算式と除外ファイル

「差分量」を算出する計算式は GitHub に載っていて,基本的には「追加 + 削除」になる.でも generated file(自動生成されるファイル) の差分を除外してくれるのはよく考えられていると思った❗️具体的には node_modules/ ディレクトリなどが考慮されていて,一覧は GitHub の noqcks/generated リポジトリで管理されている.さらに「Pull Request Size」では .gitattributes を使うと除外ファイルをカスタマイズすることもできる〜

total additions + total deletions - (all generated file additions/deletions)

github.com

github.com

ラベルの色をカスタマイズする

カスタマイズという観点だと .github/labels.yml ファイルを使って「ラベルの色」も設定できる.痒いところに手が届く感じ❗️

XS:
  name: size/XS
  lines: 0
  color: 3CBF00
S:
  name: size/S
  lines: 10
  color: 5D9801

プルリクエストを更新するとラベルは更新される

プルリクエストを出した後にレビューを繰り返しながらコードを修正したらどうなるんだろうと気になった.実際に試したところ,コミットごとに計算されて自動的にラベルは更新された❗️

まとめ

さっそく GitHub App「Pull Request Size」を使っていくぞー❗️

ツイート