はじめに
作った。
appのinstallはこっち
めっちゃ単純な図。最近噂のdraw.ioで書きました。良い。
あと一緒に作った@kamontiaがQiitaに記事書いてくれました。
めんどくさいの認証まわりぐらいだと思うので、その辺はこの記事読むと良いと思います。
きっかけ
なかなかあのmerge後のbranchを消すボタンを@kamontiaが押してくれないのでつくった。
やりかた
GitHub app自体作ったことがなかったので、最初は公式のサンプルをやった。
これでsinatraのアプリを使ってlocal環境を使って試せる。GitHubからどういうリクエストが飛んでいるかがわかる。
AWS
休日に日曜大工でオラっとやったらできてしまった感じ。何気にAPI GatewayとLambdaを自分で触るのははじめてだったので良い機会になりました。
GitHub Appの方でどのEvent契機に動くかと、CallBack URLを設定できるので、PullRequest Eventに対して、LambdaのAPIを入れると、PRに何か起きるたびにPOST / のリクエストが飛ぶ。
Lambdaのlogicも至極シンプルで、PullRequestEventがclosed or mergedの時に、対象リポジトリのbranchを削除する。それだけ。
嬉しいの?
個人的に別に押せばいいじゃんって思うのでこれにありがたみを感じるのは@kamontiaぐらいだと思うんだけど、どうしても自分の運用するリポジトリでなかなかbranchが削除されずリモートにbranchが溜まってしまう人は導入してみてもいいかもしれません。
今後
大した設定内容じゃないけど、一応Terraform管理はしておきたい。
おわりに
おわり。