リニューアルされた GitHub Projects のオートメーションを使ってみる

| 2 min read
Author: masahiro-kondo masahiro-kondoの画像

7月にGitHub Projects のオートメーションについて紹介しました。

その後、リニューアルされた Projects について紹介しました。

このリニューアルにより7月の記事のオートメーションは、Classic Projects のオートメーションということになりました。

Classic Projects では、プロジェクト作成時に Automated のテンプレートを選択するぐらいでしたが、リニューアル版では、issue や PR の状態遷移をワークフローとして UI で設定できるようになりました。

Using the built-in automations | GitHub Docs

Projects の右上のメニューから Workflows を選択します。

projectsのメニュー

設定可能なビルトインのワークフローのリストが表示され、デフォルトでは、Item ClosedPull Request merged が有効化されています。

Workflows画面

ワークフローによっては、対象のアイテム (issue, Pull Request) を指定できます。

アイテムの指定

遷移先もカスタマイズできます。

遷移先の指定

現在ベータですが、クローズされた issue をアーカイブするワークフローもビルトインで追加されました[1]

The new GitHub Issues - October 18th update | GitHub Changelog

クローズして30日経過したものをアーカイブする設定を作成してみました。

自動アーカイブ設定

last-updated オペレータで日数を指定します。このオペレータを使用すると、経過日数のチェックで12時間ごとにワークフローが実行されます。

有効化する際、即時にアーカイブされる項目の数とともに確認ダイアログが出ます。

有効化確認

有効化すると Done になっていた issue がごっそりとアーカイブされました。アーカイブされた issue は、メニューの Archived Items から閲覧できます。

Archived Items

Information

上記の例では、islast-updated で設定しましたが、reason オペレータも使えます。

reason 演算子

これは issue をクローズするときの理由に相当します。

Close as

さらに、Graph QL API と GitHub Actions ワークフローを組み合わせて高度なオートメーションを実現することも可能です。

Automating Projects using Actions | GitHub Docs


  1. issue そのものがアーカイブされるわけではなく、プロジェクトのビュー上からアーカイブされます。 ↩︎

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。