GitHub Projects (beta)のBuilt-in workflows機能を触ってみる

2022.07.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、CX事業本部 IoT事業部の若槻です。

GitHub Project (beta)では、ItemのStatusを自動的に変更できるBuilt-in workflows機能が提供されています。

今回は、このGitHub Projects (beta)の、Built-in workflows機能を触ってみました。

先にまとめ

  • 現在は6つのDefault Workflowが用意されている
  • Default Workflowで実施可能な処理は、Itemを指定のStatusに変更する(Columnに追加する)処理のみ
  • カスタムなWorkflowを作成できる機能は未提供
  • Default Workflowでは実施できない複雑なWorkflowは、GitHub Actionsを使用する必要がある

触ってみた

設定画面にアクセスしてみる

Built-in workflowsの設定画面にアクセスするためには、Project画面の右上で[... > Workflows]をクリックします。

するとWorkflowsの設定画面にアクセスできました。

Defaultでは次の6つのWorkflowが用意されています。Workflowの名前のイベントがItemに対して発生した際にWorkflowの処理が実行されます。

  1. Item added to project
  2. Item reopened
  3. Item closed
  4. Code changes requested
  5. Code review approved
  6. Pull request merged

上記のWorkflowのうち1〜3はIssueおよび(または)Pull Request、4〜6はPull Requestが対象となります。

1〜3のWorkflowは、IssueとPull Reqestの両方または片方を処理対象として設定できます。

そしてすべてのWorkflowで、Itemを指定したStatusに変更(Columnに移動)する処理のみ行えます。

実行してみる

Item closedWorkflowを実行してみます。

StatusがIn ProgressのIssueをCloseします。

するとCloseされたIssueがDoneに自動で移動されました!

さらに複雑な条件や処理のWorkflowを使いたい場合

ここまで触ってきた通り、Built-in workflowsは限られたイベントや処理のみにしか対応していません。複雑なWorkflowを使いたい場合はGitHub Actionsを使う必要があります。

下記ドキュメントでGitHub ActionsおよびGraphQL APIを使用したサンプルが紹介されているので、興味のある方はチェックしてみてください。

おわりに

GitHub Projects (beta)のBuilt-in workflows機能を触ってみました。

出来ることはまだまだ少ないですが、今後機能が充実していきそうな予感がしました。

以上