dangerを使うことでPR駆動開発を推し進めていきたいなと考えており、いろいろな記事を参考にしました。
- Dangerで効率よくPR駆動開発 | Recruit Jobs TECHBLOG
- Dangerで始めるPull Requestチェック自動化|コネヒト開発者ブログ
- Android開発のコードレビューbotを乗り換えた話|クックパッド開発者ブログ
とっても便利ですね。一つ気になったのは、 dangerは名前の通り警告したりするのが主な目的なのでコメントを残す、warnを出すなどの機能に絞って作成されたため、今一つ自動化のかゆい部分に手が届きません。
公式にもある通り、プラグインの作成が非常に簡単です。
どのプロジェクトでも**「WIP」タイトルを見つけてコメントする**まではやってるんですが、どうせならラベルつけてくれた方が楽だしもっと自動化できてるんじゃ無いかな?と考えて作ってみました。
danger-auto_label
非常に単純ですが、PRのタイトルにWIPをつけるとプロジェクトにあるWIPラベルをつけてくれます。
WIPラベルが無い場合は自動で作成するようにしました。gemで公開済みです。
これだけだと単純すぎたので、ラベル名と色を指定すれば自由なラベルをつけれるようにもしてあります。
すでにdangerを導入済みの場合以下の数行で導入できます。
gem 'danger'
gem 'danger-auto_label' #追加
if github.pr_title.include? "[WIP]"
auto_label.set_wip(github.pr_json["number"])
end
簡単ですね。dangerのプラグイン開発はおろか、Rubyを書いてるのも初めてなので多少コードは汚いかもしれません。開発の際にはこのへんを参考にしました。
OctokitというRubyのGithubAPIクライアント的なものが存在するので、こちらは必読です。
