🎍

年末だし、今年マージしたプルリクを数えようぜ!

2023/12/06に公開

12月ですね!
今年1年もお疲れ様でした!!

あいさつが遅れました、ラブグラフでCTOをしております横江( @yokoe24 )です。

CTOの仕事の一環として、毎年、開発チームの1年の振り返りを全社会で発表しているのですが、
その中でこのような1ページがあります。

このプルリク数をどのように出しているのかを、説明いたします。

1年の間でマージされたプルリクの数

この検索クエリでいけます!!

is:pr is:merged merged:2023-01-01T00:00:00+09:00..2023-12-31T23:59:59+09:00

かんたんですね。

merged:2023-01-01..2023-12-31 と書くと漏れが発生するので、
時刻とタイムゾーンまで記載しているのがポイントです。
(年末年始にマージされるプルリクがある会社は多くもないので、些細な問題ですが)

よりカスタマイズ

上に結論として書いたものは マージされたプルリクエストの数 です。

しかし、チームの作業数として算出したい場合には、
単純に「マージ」だといろんなパターンが含まれて、想定とは異なる場合もあります。

例えば作業用ブランチから作業用ブランチへのマージだったり、
ステージングリリース用のブランチから本番リリース用のブランチへのマージなどが考えられますね。

develop ブランチへのマージのみに絞る

デフォルトブランチ以外へのマージを除外したいとします。
例えば「develop」をデフォルトブランチとしているなら、以下のように書きます。

is:pr is:merged base:develop merged:2023-01-01T00:00:00+09:00..2023-12-31T23:59:59+09:00

base:develop を加えることで、他のブランチへのマージが取り除かれました。

Revert プルリクを除く

なんらかのミスがあって Revert したプルリクは、作業数として含めたくない場合があるかもしれません。

ここは難しいのですが、
GitHub の UI からプルリクエストの revert をおこなうと
Revert "<revertするプルリクエストのタイトル>" のような名前にタイトルがなることを活かしましょう。


GitHub の UI からの revert

is:pr is:merged base:develop merged:2023-01-01T00:00:00+09:00..2023-12-31T23:59:59+09:00 NOT Revert in:title

後ろに NOT Revert in:title を足しました。

これで、プルリクエストのタイトルに「Revert」という文字列が含まれるものが取り除かれました。
(想定外のプルリクエストまで取り除かれてしまう可能性はあります……)

あらためて最終形

というわけで、最終形態の検索クエリは

is:pr is:merged base:develop merged:2023-01-01T00:00:00+09:00..2023-12-31T23:59:59+09:00 NOT Revert in:title

となりました!!🎉

長くて検索バーで全体が見られませんね……(笑)

あなたのチームが今年マージしたプルリクエストはいくつだったでしょうか?

merged: のところの年を変更することで、
1年ごとの変遷を見るのもおもしろそうですね!

来年も開発をがんばっていきましょう!!🐉

ラブグラフのエンジニアブログ

Discussion