小規模開発でのタスク管理に便利!github projectsの使い方解説

IT

開発をするときのタスク管理の方法、悩みませんか?

github projectsは小規模なプロジェクトでのタスク管理に便利なgithubの機能です。この記事ではgithub projectsのおすすめの使い方を紹介します。

github projectsとは

github projectsとは、カンバン方式でタスク管理ができるgithubの機能です。タスクの洗い出しや進捗管理をgithub上で行うことができます。レポジトリごとに用意されていて、無料枠でも使うことができまです。

github projectをつかうメリット

Issueやpull requestとの連携

issueに作成した課題をprojectsにタスクとして加え、進捗を管理したり担当を割り振ったりすることができます。逆にprojectで作ったタスクをissueに表示させることもできます。また、pull request提出の際にissue番号をコメントにつければ、マージされた時にそのタスクを次のカンバンに進めるといった操作ができます。

github上で全てが完結する

別でタスク管理ツールを用意することなく、github上だけで完結します。

上記のようにIssueやpull requestとの連携ができるので、別でタスク管理ツールを使っている時のように連携について気にする必要もありません。

github projectsの使い方

プロジェクトの作成

プロジェクトの作成は、各レポジトリのprojectsタブから作成できます。プロジェクトは一つのレポジトリ内に何個も作ることもできます。

プロジェクトを作成するときにいくつかテンプレートを選ぶことができます。
テンプレートはではデフォルトでカンバンが作成されている状態で始めるか、1からカスタマイズしていくかを選びます。デフォルトで作成されているものに手を加える方が楽かと思いますので「Automated kanban」を選択します。

以下のテンプレートが用意されているので、プロジェクトの使い方に合わせて変更すると良いかと思います。

  • None:テンプレートなし。一からカンバンを作成していく。
  • Basic Kanban::to do、in progress、doneと名前のついたカンバンが作成されている。
  • Automated Kanban:Basic Kanbanに後述のカンバンの自動化の設定がされており、issueやpull requestの状態によってタスクの進捗を自動的に変更してくれる。
  • Automated Kanban with review:Automated Kanbanに「レビュー待ち」のカンバンが追加されているもの。チーム開発向け。
  • Bug triage:タスクの深刻度によって分類するタイプのカンバン

カンバンの作成と設定

「Automatied kanban」を選択した場合、「to do/in progress/done」のカンバンが作られています。必要ならカンバン名をお好みの名前に変更したり、カンバンを追加していきます。

自動化の設定

カンバン下部の「manage」からそれぞれのカンバンでどのような自動化の設定を行うかを設定することができます。アクションのプリセットとして「to do/in progress/done」の自動化の挙動が用意されています。(「to do/in progress/done」はカンバンの名称ではなく、自動化の挙動の名称として用意されています。)

それぞれの自動化の設定で「カンバンに移動するタイミング」と「pull requestが提出されたときの挙動」を決めることができます。

例えば、下の画像のようにカンバンに移動するタイミングが「reopen」でpull requestが提出されたときに移動する条件としてが「newly add」と「reopen」の場合、このアクションを設定したカンバンには以下の場合に自動的にタスクが移動されます。

  • タスクが関連付けられたissueが、一度closedになったあともう一度openされたとき
  • タスクが関連付けられたpull requestが提出されたとき
  • タスクが関連付けられたpull requestが、一度margeされた後再度openされたとき

タスクの追加

ここまでできたらタスクを追加していきます。タスクを追加する方法が2つあります。

プロジェクトから作成

カンバンの上部にある+マークを押してタスクを作成します。作成後convert issueを選択すると、後述のオプションを設定したり、pull requestと連携することができます。

issueから作成

タスクはissueからも作ることができます。issueを作成する際にprojectsを選択します。

タスク(issue)のオプション

タスク(issue)を作成するときに以下の項目を設定しておくことで期限や重要度など必要な項目だけに絞り込んでみることができます。

Milestone

「first release」や「2021/04」などissueを片付けたい期限をmilestoneとして設定しておくと良いかと思います。

Labels

「UI」「CI」「API」など開発分野ごとにカテゴリーを分けておくと、役割分担もしやすくなります。また、「prioriy:high」など、重要度を示すカテゴリーを作っておくこともおすすめです。

pull requestと連携

pull requestを提出する時に、コメントで番号を記入するとマージされた時に自動でタスクを次のカンバンに移動してくれます。カンバンに自動化の設定がしてある必要があります。

最後に

github projectは個人〜小規模開発のタスク管理にはちょうどいい機能だと感じました。

githubの謹製機能だからこそのissueやpull requestとの連携によって痒いところに手が届く感じになっていると思います。

まだ利用したことのない方はぜひ使ってみてください。

コメント

タイトルとURLをコピーしました