リニューアルされた 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 そのものがアーカイブされるわけではなく、プロジェクトのビュー上からアーカイブされます。 ↩︎

豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する (2022-09-25)
  2. 自然言語処理初心者が「GPT2-japanese」で遊んでみた (2022-07-08)
  3. GitHub Codespaces を使いはじめる (2022-05-18)
  4. Jest再入門 - 関数・モジュールモック編 (2022-07-03)
  5. ORマッパーのTypeORMをTypeScriptで使う (2022-07-27)
  6. Nuxt3入門(第4回) - Nuxtのルーティングを理解する (2022-10-09)
  7. Nuxt3入門(第3回) - ユニバーサルフェッチでデータを取得する (2022-10-06)
  8. 第1回 OpenAPI Generator を使ったコード生成 (2022-06-04)
  9. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する (2022-10-28)
  10. Nuxt3入門(第2回) - 簡単なNuxtアプリケーションを作成する (2022-10-02)