
StaleでissueやPull Request一覧を自動的に整理整頓しよう!
はじめに
こんにちは!株式会社POLでエンジニアをやっている @show_kanamaru です!
POLは「研究者の可能性を最大化するプラットフォームを創造する」をビジョンに、理系学生に特化した採用サービス、および研究開発者・技術者に特化した転職/採用サービスの2サービスを運営しています。
今回はStaleを使って、放置されているPull Reqeustを自動的にクローズするようにしてみました!
めちゃくちゃ簡単に導入できるので、ぜひ参考にしてみてください!
課題
現在僕たちのチームでは週1で振り返りをしているのですが、こんな課題が出てきました。
ついついWIPのまま残してしまってプルリクエストが溜まってしまうことはないでしょうか?その中にはもうクローズしてしまっても問題ないものもたくさんあるはず。。。
プルリクエストがたくさんあると、レビューするべきものがどれかパッとわからなくなることありますよね
「クローズしましょう!」と声をかけることは簡単ですが、時間が経つとまた同じ課題が出てきそうなので、仕組みで解決することにしました!
解決策
今回はGitHubのMarketplace/appsで追加ができるStaleを導入しました。
これは放置されているissueやPull Requestを自動的にクローズしてくれるものになります。
では実際に導入方法を見ていきましょう!
導入方法
1. まずはリポジトリにStaleをインストールします
こちらの一番下の「Install it for free」からインストールします
全てのリポジトリにも、特定のリポジトリにもインストールできます。
2. 設定ファイルを作成
インストールができたら、.github配下にstale.ymlという設定ファイルを作成します。
.github/stale.yml
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
PRが30日間も放置されてるよ!そんなに放置してどういうつもりなの!あと7日間放置したら勝手にクローズするからね!
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
daysUntilStale
「自動的にクローズするよ」という警告が出るまでの日にち
daysUntilClose
警告が出てからクローズされるまでに日にち
exemptLabels
ここに設定されているラベルを付けておくと自動的にクローズされない
staleLabel
古くなったissueまたはプルリクエストということを明示的にするラベル
このラベルが追加されてから、daysUntilCloseで設定した日にちが経つと自動的にクローズされます
markComment
警告の際のコメント
closeComment
クローズの際のコメント
以上で設定は完了です!めちゃくちゃ簡単ですよね!
実際はこんな感じ
時間が経つとプルリク一覧をきれいに保とうという意識も薄れていってしまうので、自動でやってくれるのは便利ですね!
おわりに
今回は放置されているissueやPull Requestを自動的にクローズしてくれるStaleを紹介しました!プルリクエスト一覧がスッキリしているとなんとなく良い気持ちになりますね!
Stale以外にも便利なIntegrationがたくさんあると思うので、積極的に導入していきたいと思います!
そして、株式会社POLではエンジニア、デザイナー、プロダクトマネージャーを大募集してます!お話しだけでも構いませんのでお気軽にお声がけください!!!