はじめに
Qiitaの記事をGitHubで管理するようになり、記事ごとにブランチを切ってPull Requestを出す運用に移行しました。記事本数が増えてくると「どの記事がいつ公開予定か」「どのPRがまだマージされていないか」を把握するのが難しくなってきます。
そこで使い始めたのがGitHub Projectsです。カンバンで進捗を管理しつつ、ガントチャートで公開スケジュールを可視化できるようになりました。さらにPRと紐づけることで、マージのタイミングとスケジュールを一元管理できるのが特に便利でした。
この記事では、GitHub Projectsを使ったことがない方を対象に、カンバンとガントチャートの基本的な使い方と、実際の運用をまとめます。
1. GitHub Projectsとは
GitHub Projectsは、GitHubが提供するプロジェクト管理ツールです。IssueやPull Requestと連携して、タスクの進捗やスケジュールをグラフィカルに管理できます。
以前のGitHub Projects(クラシック版)と区別して、現在の版はProjects V2と呼ばれることがあります。本記事ではこのV2を前提に説明します。
GitHubの他の機能との関係
| 機能 | 役割 |
|---|---|
| Issue | タスクや課題を記録する |
| Pull Request | コードやファイルの変更をレビュー・マージする |
| Projects | IssueやPRをまとめて進捗・スケジュール管理する |
Projectsは「IssueやPRを整理して見やすくするボード」と理解するとわかりやすいです。
2. プロジェクトの作成
作成手順
- GitHubの画面右上のアイコンから
Your projectsを選択 -
New projectをクリック - テンプレートを選択(最初は
Board(カンバン)がわかりやすい) - プロジェクト名を入力して
Create project
アイテムの追加
プロジェクトにはIssue・PR・ドラフトアイテムの3種類を追加できます。
- Issue:タスクとして登録したいものはIssueで管理
- Pull Request:既存のPRをプロジェクトに紐づける
- ドラフトアイテム:IssueやPRを作らずにメモ的に追加できる(後からIssueに変換も可能)
画面下部の + Add item からいずれかを追加します。
プロジェクトを作成すると、以下のようにアイテムを一覧で確認できます。
3. カンバンで進捗を管理する
ビューの概要
カンバン(Board)ビューは、アイテムをステータスごとに列で管理します。デフォルトでは以下の3列が用意されています。
| 列名 | 用途 |
|---|---|
| No Status | 未分類 |
| Todo | 着手前 |
| In Progress | 作業中 |
| Done | 完了 |
ステータスのカスタマイズ
列はプロジェクトの用途に合わせて追加・変更できます。記事管理であれば以下のような列が使いやすいです。
下書き中レビュー待ち公開済み
設定方法:+ Add field からフィールドを追加、または既存の列名をクリックして編集します。
PRとの紐づけ
PRをプロジェクトに追加すると、カンバン上にカードとして表示されます。PRがマージされると自動的にステータスを Done に変更するワークフローを設定することもできます。
設定方法:プロジェクトの ... メニュー → Workflows → Pull request merged を有効化
4. ガントチャートでスケジュールを可視化する
ロードマップビューの追加
ガントチャートはGitHub Projectsではロードマップ(Roadmap)ビューと呼ばれます。
追加手順:
- プロジェクト画面上部の
+ New viewをクリック -
Roadmapを選択
日付フィールドの設定
ガントチャートを使うには、各アイテムに日付(開始日・終了日)を設定する必要があります。
-
+ Add fieldからDateフィールドを追加(例:公開予定日) - 各アイテムのカードを開いて日付を設定
- ロードマップビューの設定から、表示に使う日付フィールドを指定
PRとスケジュールの連携
PRをアイテムとして追加し、公開予定日を設定することで「このPRはいつマージ予定か」をガントチャート上で管理できます。PRがマージされた日と予定日を見比べることで、スケジュールの遅れも把握しやすくなります。
表示単位の切り替え
ロードマップビューは日・週・月単位で表示を切り替えられます。記事の公開スケジュール管理であれば週単位が見やすいです。
5. 両方を組み合わせた運用
実際の運用では、カンバンとガントチャートを以下のように使い分けています。
| ビュー | 用途 |
|---|---|
| カンバン | 各記事の執筆進捗を確認する(今週何をするか) |
| ガントチャート | 全体の公開スケジュールを俯瞰する(どの記事がいつ公開予定か) |
運用フロー
- 記事のブランチを作成したらPRを作成し、プロジェクトに追加
- カンバンでステータスを
下書き中→レビュー待ちと更新 - ガントチャートで公開予定日を設定
- PRをマージしたらステータスが
Doneに自動更新される
この流れにより、「どの記事がどの状態にあるか」と「いつ公開されるか」が一つのプロジェクトで管理できます。
おわりに
GitHub Projectsのカンバンとガントチャートを組み合わせることで、記事の進捗管理と公開スケジュールの可視化を一元化できました。特にPRと紐づけることで、マージのタイミングとスケジュールが連動するのが便利です。
IssueやPRをすでにGitHubで管理している方であれば、追加のツールなしにそのままプロジェクト管理を始められるのがGitHub Projectsの強みだと思います。
![[GitHubProject]Table.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F34823%2F9073fec2-1a0f-4011-9ded-61d25b6ef271.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=7cbf39c813888e304e75d004e6b4003a)
![[GitHubProject]Kanban.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F34823%2F9eca1b11-1e18-4c1e-8b92-450708fd1022.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=bd0f98ea5f058a5c8401ec3101256a3c)
![[GitHubProject]Roadmap.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F34823%2F3f009a6f-476f-48b7-be4e-f1988a8c6b8d.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c8c358361ef1baf7537a2f054357dc78)