はじめに
今所属しているチームでは、社内ホストでRedmine
を使用しています。
そのサーバーがEOLを迎えるとのことなので、タスク管理の移行先を検討しています。
そこの候補の一つとして、GitHub Projects
が上がったので、始め方を調べて、アウトプットいたします。
本記事の参考になる人
- GitHub Projects とは。を理解したい方
- 使い方を知りたい方
本記事の参考にならない方
- タスク管理の運用方法を知りたい方
- 機能のもっと詳細の使い方が知りたい方
- 例:
GitHub Actions
を利用したProjectsの管理方法など
- 例:
GitHub Projects とは
公式のドキュメントには、以下の記載がされています。
プロジェクトは、作業の計画と追跡を効果的に行えるように GitHub 上の issue および pull request と統合できる、適応性のあるスプレッドシート、タスク ボード、ロード マップです。
簡単にいうと、GitHub
が提供しているタスク管理ツールになります。
タスクだけではなく、issueやPRとも紐づけることができて、GitHub
だけで完結できるのは嬉しいですね。
料金
料金:無料
始めるにあたって、お金は気になると思います。
使用量によって、料金が変わることもないので、安心して使えますね。
始め方
それでは、GitHub Projectsを作成していきましょう。
Projectを作成したいリポジトリを開いて、Projects
のタブを押してください。
-
Link a project
:既にあるProjectをリポジトリに紐付ける -
New project
:リポジトリに新たにプロジェクトを作成する
上記2つがあると思うので、今回は新たに作成するため、New project
を押します。
押すと、新たにProjectが作成されると同時に、テンプレートを選択する画面が表示されます。
テンプレート
GitHub側が用意してあるテンプレートは、以下があります。
- Team planning
- Feature release
- Kanban
- Bug tracker
- Iterative development
- Product launch
- Roadmap
- Team retrospective
テンプレートを選択すると、フィールド
とビュー
が整った状態で作成されます。
その時作成したい状況にあったテンプレートがあれば、それを選択した方がすぐ始められるのは便利ですね。
今回は、Kanban
を選択して、始めようと思います。
全てのテンプレートは紹介できないので、選択する場合は、状況にあった適切なものをお選びください。
テンプレートを選択すると、Project名を入力する画面が表示されます。
名前が決まれば、Create project
を押して、Projectが作成されます。
これで、あとはチケットを作成して管理していく形になります。
ここからは、仕様に関して、もう少し詳しく見ていきます。
Views
レイアウトに関して、以下3種類の見た目があります。
Table
見た目は、以下のようになっています。
並び替えやフィルター処理があるので、その人によって使いやすい見た目に、個人でアレンジができると思います。
Board
見た目は、以下のようになっています。
列をステータスなどでグルーピングすると、今タスクがどんな状況なのか、一目で分かると思います。
Roadmap
見た目は、以下のようになっています。
タイムラインで、タスクを進捗管理できる見た目となっています。
カスタマイズ
見た目は上記のように設定できて、そこからさらに、タスクをどう表示するか、何を表示させるかなど、色々とアレンジすることができます。
設定 | 説明 |
---|---|
Fields | ビュー上に表示させる項目を選択することができます |
Column by | Board上で何をもとに、列を分けるか決めます |
Group by | タスクをグループ分けして、表示することができます |
Sort by | 選択したフィールドで、降順・昇順を選択して、並び替えることができます |
Field sum | ビュー上に、該当フィールドの合計値を表示させます |
Slice by | 選択してフィールドの値ごとに、タスクを表示させることができます |
これらを駆使して、Projectに適した見た目を設定していきましょう。
フィールド
タスクで管理したい項目を設定することができます。
設定方法は、まずProject内の右上にある・・・
を押し、Settings
を選択します。
そうすると、以下の画面に遷移されます。
テンプレートを選択していると、既にフィールドが用意されています。
新たに作成したければ、New field
を押して、作成してください。
フィールドには、設定できる内容がいくつかあります。
設定 | 説明 |
---|---|
Text | テキスト |
Number | 数値 |
Date | 日付 |
Single select | 決められた項目しか設定できない |
Iteration | 設定した期間を作成して、タスクに紐づけることができる |
Single select
選択すると、以下のような表示となっています。
複数オプションを作成しておいて、適切な1つを設定することができます。
Iteration
選択すると、以下のような表示となっています。
フィールドを作成する際に、初めの期間と、いつまでの期間なのかを設定することができます。
(※ 今回で言うと、始めを2/1、期間を2週間に設定しています。)
期間はweekとdayで選べるので、スプリントに合った期間を選択できます。
また自動で3つほど作成されるので、不要な場合は削除して、再度作り直しましょう。
開発でスプリントを導入していれば、Iteration
はすごく便利だなと思いました。
期間も自由に設定できるので、導入した際は活用必須かなと思っています。
Workflows
タスクがClose
になったら、ステータスをDone
にする。などのように、GitHub Projects
はワークフローを設定することができます。
ただ、デフォルトであるワークフローは、あまり自由度は高くないです...。(ステータスを変更するだけ)
なので、もし自由度を高めたい場合は、GitHub CLI
などを利用しましょう。
Insights
Projectsのデータをグラフで可視化することができます。
Insightsに関しては、以下のユーザーしか使用できないと記載があります。
プロジェクトに対する書き込みまたは管理者のアクセス権を持つユーザーは Insights を使用できます。
また、履歴グラフ
という機能もありますが、注意点として以下のような記載がありました。
注: Insights は新しいプロジェクト エクスペリエンスで利用できます。projects (classic) では Insights を使用できません。 履歴グラフは、Organization 向けの GitHub Team と GitHub Enterprise Cloud で利用できます。 Organization 向けの GitHub Team および GitHub Enterprise Cloud と、ユーザー向けの GitHub Pro で、プライベート プロジェクトに無制限のグラフを保存できます。 パブリック プロジェクトを使用しているユーザーと Organization も、無制限のグラフを保存できます。 GitHub Free またはレガシ プランを使用しているユーザーと Organization は、プライベート プロジェクトに 2 つのグラフを保存できます。 詳しくは、「GitHub のプラン」をご覧ください。
使用できるユーザーは限られますが、それでもグラフ化されるのは、定量的に確認できる良い機能ですね。
Add item
最後に、タスクの作成方法を紹介します。
ビューの下部にあるAdd item
を押すと、タイトルを入力して、エンターを押すと、タスクを作成することができます。
作成できたタスクの名前を押すと、詳細が表示されます。
ここで、Markdown
を利用して、タスクの詳細を記入したり、Convert to issue
を押してissueと紐づけることもできます。
触ってみた所感だと、タスクかissue
のどちらかを作成して、必ず紐付けた方が管理しやすいなと思いました。
アイテムのテンプレートは作成できず、issueはテンプレートを作成することができるので、issueを先に作成して、Projectに紐付けるのがまとめやすいなと個人的には思いました。
注意点
Add item
を押して、タイトルを入力して変換する際に、キーボードの矢印の↓
を押すと、変換する前に、フィルターの箇所にカーソルが当たってしまいます...。
これはバグかわかりませんが、文字の変換をする際は、一工夫必要かもしれません。
まとめ
ここまでGitHub Projects
の始め方・使い方を紹介しました。
今回記載したのは使い方でしかないので、業務でどのように使用したいかをしっかりチームで決めた後に、学んだことを生かせるようにしたいです。
まだ自分のチームでも導入には至っていないので、導入が決まればどのように運用しているか記載しようと思います。
最後までご覧いただき、ありがとうございました。
参考文献