みずぴー日記

陽気なプログラマが世界を廻す

?prpr-lgtm

会社ではPull Requestに対して2人がApproveしたのちにマージするという運用をしているので、これを補助するbotを作った。 2人がApproveしたときに、Assigneeに対してメンションが飛ばす。

f:id:mzp:20170103092252j:plain

bot

prprへのプラグインとして実装した: https://github.com/mzp/prpr-lgtm

解決したい問題

Pull Requestに対して2人がApproveしたのちにマージするという運用には以下の2つの問題点があった。

  • Approveした人数がPullRequest一覧では分からない。
  • Approveした人数が2人に達したことに担当者が気付きづらい。

prpr-lgtm

ラベルによるApprove件数の表示

Approveの件数にあわせてラベルの追加・削除を行なう。

  • LGTM:1: 1人がApproveしている
  • LGTM:2+: 1人以上がApproveしている

f:id:mzp:20170103093644p:plain

メンション

2人がApproveしたときに、Assigneeに対してメンションが飛ばす。 このとき本文にしている「Let's Get This Merged」は Rebuild: Aftershow 133: Let's Get This Merged (gfx) が由来。

f:id:mzp:20170103092252j:plain

余談

Pull Request Review CommentのAPIがでるまでは「LGTM」というコメントに反応するようにしていた。 そのせいで「LGTMではないです」といったコメントにも反応してちょっと大変だった。

また、開発中には自分のコメントにも反応して、だいぶ面倒なことになった。