Github Project Beta に参加できたので触ってみる

こんにちは。 新しい GitHub Project がかっこいいと思って beta に申し込んでいたのですが 先日参加ができたので、色々触ってみました。

ドキュメント

以下になります。ドキュメントには無い部分も確認してみました。

プロジェクト(ベータ)について - GitHub Docs

View

Table と Board の 2 種類を選択できます。 Board は以前からの Project とほぼ同等です。

View を選択

また、View はタブで管理できるため、1 つの Project に複数の View を作ることができます。

Table View

目玉機能の 1 つとして、表形式の View が追加されました。Issue を表で管理できます。

リポジトリから Issue を検索できる

2021/10/23 現在、下記の機能を確認できました。

  • 列へ Field の追加 : Issue に Field を追加できます。
  • Filter : 表示されている Issue を指定した Field の条件に従ってフィルタリングできます。
  • Grouping : Field の条件に従って、Issue を Grouping できます。

Board View

旧 Project の機能に下記が追加されていました。旧 Project 同様、Status だけで管理する用途に見えます。

  • Filter : 表示されている Issue を指定した Field の条件に従ってフィルタリングできます。

列へ Field の追加

Table の列には下記項目を追加できました。Issue に追加した Field は Project 全体で共有されます。従って、どの View でも Field を使った操作ができます。

  • Title (default) : Issue の Title
  • Assignees (default) : Issue に Assignee された User
  • Status (default) : Issue の Status
  • Label : Issue に関連付けられた Label
  • Milestone : Issue に関連付けられた Milestone
  • Repository : どの Repository に属するか
  • カスタムフィールド : 自分たちで好きなフィールドを追加できる。

カスタムフィールド

次の Field を追加できました。列名も編集できます。

New Field を選択した時

Text

文字通り好きな Text を入れることができます。

Number

数字を入力できるフィールドです。

数字以外を入力すると validation が働きます。

Date

日付を入力できるフィールドです。DatePicker もついています。

Single Select

単一選択ができるフィールドです。各選択要素に色をつけられなさそうなのが残念。

Iteration

イテレーションを指定するためのフィールドです。

指定した期間に従ってイテレーションの項目が作成されるので、Issue に関連付けてイテレーションを管理します。

Filter

表示されている Issue を指定した条件に従ってフィルタリングできます。カスタムフィールドにも対応しているようです。

Status で Filter

カスタムフィールドで Filter

なお、Board View では Status 以外の Field は見えないので、例えばカスタムフィールドで Filter すると、なぜ出てくるのかパッと見わからないですね。

(Field にどの値が設定されているかは Table View で確認する必要があります。)

フィルター - プロジェクト(ベータ)のビューのカスタマイズ - GitHub Docs

Grouping

指定した条件に従って、Issue を Grouping できます。Grouping は列項目に対応します。カスタムフィールドを使ったグルーピングにも対応しているようです。

どの Field で Grouping するかを選択

(※ 2021/10/23 現在 Title, Assignees, repository, label では Grouping できません。)

グループ化 - プロジェクト(ベータ)のビューのカスタマイズ - GitHub Docs

Project Settings について

下記を設定できることを確認できました。

Manage access

この Project を誰と閲覧、編集できるようにするのかを設定できます。

設定した Field の編集

Fields では既に設定したカスタムフィールドと Status を編集できます。

コマンドパレット

「Ctrl」 + 「k」 (「Command」 + 「k」) を使ってコマンドパレットを呼び出すことができます。 コマンドパレットは Filter や Grouping など、大抵の操作はできるようです。

プロジェクト(ベータ)のビューのカスタマイズ - GitHub Docs

Workflows

beta ではまだ設定できませんが、Issue のアクションによって、どのように Issue を処理するかを定義できる Workflows という機能があることを確認できました。

例えば Issue を close したときに、Issue の Field に特定の値を設定する、といったことができるみたいです。

Condentional, Functions が気になる…

API と Github Actions を使った自動化

API と Github Actions を使って Project の管理を自動化できます。

しっかり触れていませんが、先述した Workflows より高度な自動化は、この方法を使うんだろうと予想しています。

プロジェクト(ベータ)の自動化 - GitHub Docs

まとめ

以前の Project よりもかなり使いやすくなっているように感じました。

  • Table View Field や Grouping, カスタムフィールドの追加など、View の自由度が高い。
  • Iteration カスタムフィールドを追加できるので、アジャイル開発にも使える。 (以前は他のプロジェクト管理ツールと Github を連携して使っていたと思っています。)
  • Workflow の自動化ができること

今後も Github Project の動向に注目です。

触ってみたい方は、Github Project の Beta に参加して プロジェクト(ベータ)のクイックスタート - GitHub Docs を参考にして試してみるとよいと思います。