はじめに
このガイドは、GitHub Issuesを使って作業の断片を計画及び追跡する方法を示します。 このガイドでは、新しい issue を作成し、それを sub-issue に分割します。 また、ラベル、issue の種類、マイルストーン、担当者、プロジェクトを追加して、issue に関するメタデータを伝える方法についても説明します。
前提条件
Issueを作成するにはリポジトリが必要です。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリはIssueを有効化していなければなりません。 リポジトリの作成の詳細については、「新しいリポジトリの作成」を参照してください。 リポジトリで無効になっている issue の有効化の詳細については、「Issues を無効化する」を参照してください。
空のIssueのオープン
まず、Issueを作成してください。 Issueの作成方法は複数あります。自分のワークフローで最も便利な方法を選択できます。 この例では、GitHub UIを使用します。 Issue を作成するその他の方法の詳細については、「Issue の作成」を参照してください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Issues] をクリックします。
-
[New issue](新しい Issue) をクリックします。
-
この例では、空のIssueから始めます。 リポジトリでは、コントリビューターが特定の情報を提供することを促進するために Issue テンプレートおよび Issue フォームが使用される場合があります。 リポジトリで Issue テンプレートを使っている場合、 [空の Issue を開く] をクリックします。
情報の記入
Issueに分かりやすいタイトルを付けてください。 このタイトルは、Issueが何に関するものなのかが一目でわかるものにすべきです。
Issueを解決するのに役立つかもしれない詳細情報も含めて、Issueの目的を記述する説明を追加してください。 たとえば、もしそれがバグレポートなら、バグを再現するステップ、期待される結果、実際の結果を記述してください。
フォーマット、リンク、絵文字などを追加するためにMarkdownを使うことができます。 詳しくは、「GitHub での執筆」をご覧ください。
タスクリストの追加
プレーンテキストを使って、対応する issue がないタスクを追跡し、後で issue に変換することもできます。 詳しくは、「タスクリストについて」をご覧ください。
Issueのアサイン
責任をやりとりするために、IssueをOrganizatoinのメンバーにアサインできます。 「GitHub の他のユーザに Issue およびプルリクエストをアサインする」を参照してください。
ラベルの追加
Issueを分類するために、ラベルを追加してください。 たとえば、question
ラベルと good first issue
ラベルを使って、その issue が初めての共同作成者に取り組める質問であることを示す場合があります。 ユーザは、ラベルを使ってIssueをフィルタリングし、特定のラベルを持つすべてのIssueを見つけることができます。
デフォルトのラベルを使うことも、新しいラベルを作成することもできます。 詳しくは、「ラベルを管理する」をご覧ください。
Issue の種類の追加
Issue の種類を追加して、organization 全体で作業を分類できます。 「組織での issue の種類の管理」を参照してください。
プロジェクトへのIssueの追加
Issue を既存のプロジェクトに追加して、そのプロジェクトのメタデータを設定できます。 プロジェクトの詳細については、「Projects について」を参照してください。
マイルストーンの追加
マイルストーンを追加して、Issueを日付ベースのターゲットの一部として追跡できます。 マイルストーンは、目標日が近づくにつれて issue の進行状況を示します。 「マイルストーンについて」を参照してください。
Issueのサブミット
[新しい Issue をサブミット] をクリックして、Issue を作成します。 上記のフィールドは、いずれもIssueを作成した後に編集できます。 Issueは一意のURLを持ち、それをTeamのメンバーと共有したり、あるいは他のIssueやPull Request内で参照したりできます。
sub-issue の追加
Issue に sub-issue を追加することで、大きな作業を小さな issue にすばやく分割することができます。 sub-issue により、issue 間の関係が作成されて、GitHub での issue の階層のサポートが追加されます。 ユーザーやチームが必要とする詳細さにタスクを分割することでプロジェクトを正確に表す sub-issue の複数のレベルを作成することができます。「sub-issue の追加」と「sub-issue の閲覧」を参照してください。
Issue の依存関係の追加
Issue の依存関係を使って、issue 間のブロック リレーションシップを定義できます。 Issue の依存関係により、他の作業にブロックされている、またはブロックしている issue を特定できます。 「Issue の依存関係の作成」を参照してください。
コミュニケーション
Issueを作成した後は、そのIssueにコメントを追加して会話を続けてください。 コラボレーターまたはチームを @mention して、コメントに注意を惹きつけることができます。 同じリポジトリ内の関連する Issue をリンクするために、#
の後に Issue のタイトルの一部を続け、リンクする Issue をクリックできます。 詳しくは、「GitHub での執筆」をご覧ください。
次の手順
Issueは、幅広い目的で使用できます。 たとえば次のような点です。
- アイデアの追跡
- フィードバックの収集
- タスクの計画
- バグの報告
issue をより管理しやすいタスクに分割するには、複数のレベルの sub-issue を追加できます。 「sub-issue の追加」を参照してください。
GitHub Issues で次のステップを実行するための役立つリソースを、いくつか次に示します。
- Issue の詳細については、「Issueについて」を参照してください。
- GitHub の計画および追跡ツールの使用に関する基本事項については、「Teamもしくはプロジェクトの作業の計画と追跡」を参照してください。
- プロジェクトが計画と追跡にどのように役立つかの詳細については、「Projects について学習する」を参照してください。
- Issue テンプレートや issue フォームを使って共同作成者からの特定の情報の提供を促進する方法の詳細については、「テンプレートを使用して便利な Issue やプルリクエストを推進する」を参照してください。