古くなったGitHubのissueを自動で閉じるようにした

古くなって忘れ去られそうになったissueに対して自動でリマンドし、さらに時間が経過すると自動で閉じるようにした。

GitHub - actions/stale: Marks issues and pull requests that have not had recent interaction

モチベーション

放置されがちなissueが多いのでなんとかしたいっていうのが動機だ。 それに加えて自分たちのチームではSlackやミーティングなどリアルタイムでのコミニケーションに頼っていることが多いと感じている。 なのでissueのような 非同期で行える 場所を活用したいと考えている。 ミーティングのコストが大きいと言うこともあるし、いろんな事情を抱えた人と働いているので必ずしも同じ時間に働く必要はないと考えている。

非同期なコミニケーションやっていきたいねという話は前にも書いていた。

リモートワーク - nakaoka3のはてなブログ

やったこと

手動で古いissueをチェックして「閉じ忘れていませんか」とメンションを飛ばしたりするのは手間がかかりすぎるのでGithub Actionsを使って自動で行うようにした。 本当は30日ぐらいでリマインドする設定をしたかったが、先の予定をissueに入れる場合があるという意見があったため、90日でリマンドしてそこからさらに14日経過すると閉じるようにした。

主な設定は以下。

GitHub - actions/stale: Marks issues and pull requests that have not had recent interaction

          days-before-issue-stale: 90
          days-before-issue-close: 14
          stale-issue-label: "stale"
          exempt-issue-labels: "自動で閉じないで"
          days-before-pr-stale: -1
          days-before-pr-close: -1

これから期待すること

ただ単にissueの数を減らしたいと思っているのではない。 issueを入れた時は忙しくて着手できなくても、少し時間をとってリマインドされたらその時には着手できたり、いいプランが 思い浮かぶかもしれない。そういったきっかけにしたいと思っている。