チュートリアル: イシュートリアージのために、複数のプロジェクトを持つグループを設定する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
イシュートリアージとは、種類と重大度に応じて分類するプロセスです。プロジェクトが拡大し、作成されるイシューが増えるにつれて、受信イシューをどのようにトリアージするかに関するワークフローを作成する価値があります。
このチュートリアルでは、このシナリオのために複数のプロジェクトを持つGitLabグループを設定する方法を学びます。
プロジェクトでイシュートリアージのためにGitLabを設定するには:
- グループを作成する
- グループ内にプロジェクトを作成する
- 種類、重大度、優先順位の条件を決定する
- 条件をドキュメント化する
- スコープ付きラベルを作成する
- 新しいラベルの優先順位を設定する
- グループイシューボードを作成する
- 機能のイシューを作成する
はじめる前
- このチュートリアルで既存のプロジェクトを使用している場合は、少なくともプロジェクトのレポーターロールを持っていることを確認してください。
- 既存のプロジェクトに親グループがない場合は、グループを作成し、プロジェクトラベルをグループラベルにプロモートします。
グループを作成する
グループとは、本質的に複数のプロジェクトのコンテナです。これにより、ユーザーは複数のプロジェクトを管理し、グループメンバーと一度に通信できます。
新しいグループを作成します:
- 左側のサイドバーの上部で、新規作成( )を選択し、新規グループを選択します。
- グループを作成を選択します。
- グループの詳細を入力します。
- グループ名に
triage-tutorialを入力します。
- グループ名に
- ページの下部にあるグループを作成を選択します。
グループ内にプロジェクトを作成する
複数のプロジェクトでイシューの追跡を管理するには、グループ内に少なくとも2つのプロジェクトを作成する必要があります。
新しいプロジェクトを作成するには:
- 左側のサイドバーの上部で、新規作成( )を選択し、新規プロジェクト/リポジトリを選択します。
- 空のプロジェクトの作成を選択します。
- プロジェクトの詳細を入力します:
- プロジェクト名に、
test-project-1と入力します。詳しくは、プロジェクトの命名規則をご覧ください。
- プロジェクト名に、
- ページの下部にあるプロジェクトを作成を選択します。
- このプロセスを繰り返して、
test-project-2という名前の2番目のプロジェクトを作成します。
種類、重大度、優先順位の条件を決定する
次に、以下を決定する必要があります:
- 認識したいイシューのTypes(種類)。より詳細なアプローチが必要な場合は、種類ごとにサブタイプを作成することもできます。種類は、チームにリクエストされた作業の種類を理解するために、作業を分類するのに役立ちます。
- 受信作業がエンドユーザーに与える影響を定義し、優先順位付けを支援するためのpriorities(優先順位)とseverities(重大度)のレベル。
このチュートリアルでは、以下を決定したと仮定します:
- 種類:
Bug、Feature、Maintenance - 優先順位:
1、2、3、4 - 重大度:
1、2、3、4
参考までに、GitLabでこれらをどのように定義しているかをご覧ください:
条件をドキュメント化する
すべての条件に同意したら、チームメイトが常にアクセスできる場所にすべて書き留めます。
たとえば、プロジェクトのWikiに追加したり、GitLab Pagesで公開されている会社のハンドブックに追加したりします。
スコープ付きラベルを作成する
- プラン: Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
次に、イシューに追加して分類するためのラベルを作成します。
これに最適なツールは、相互に排他的な属性を設定するために使用できるスコープ付きラベルです。
以前に作成した種類、重大度、優先順位のリストを確認して、一致するスコープ付きラベルを作成します。
スコープ付きラベルの名前のダブルコロン(::)は、同じスコープの2つのラベルが一緒に使用されるのを防ぎます。たとえば、type::featureラベルが既にあるイシューにtype::bugラベルを追加すると、以前のラベルは削除されます。
スコープ付きラベルは、GitLab PremiumとGitLab Ultimateプランで利用できます。Freeプランを使用している場合は、代わりに通常のラベルを使用できます。ただし、それらは相互に排他的ではありません。
各ラベルを作成するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 管理 > ラベルを選択します。
- 新しいラベルを選択します。
- タイトルフィールドに、ラベルの名前を入力します。
type::bugで始まる。 - オプション。使用可能な色から選択するか、背景色フィールドに特定の色を表す16進数のカラー値を入力して、色を選択します。
- ラベルを作成を作成を選択します。
手順3〜6を繰り返して、必要なすべてのラベルを作成します。次に例を示します:
type::bugtype::featuretype::maintenancepriority::1priority::2priority::3priority::4severity::1severity::2severity::3severity::4
新しいラベルの優先順位を設定する
次に、新しいラベルを優先ラベルとして設定します。これにより、優先順位またはラベルの優先順位でソートした場合に、最も重要なイシューがイシューリストの一番上に表示されるようになります。
優先度またはラベル優先度でソートするとどうなるかについては、イシューリストのソートと順序付けを参照してください。
ラベルの優先順位を付けるには:
- ラベルページで、優先順位を付けるラベルの横にある優先順位を付ける( )を選択します。このラベルは、優先ラベルの下の、ラベルリストの最上部に表示されます。
- これらのラベルの相対的な優先度を変更するには、リストを上下にドラッグします。リストの上位にあるラベルは、より高い優先度を取得します。
- 以前に作成したすべてのラベルに優先順位を付けます。優先順位と重大度が高いラベルが、値の低いラベルよりもリストの上位にあることを確認してください。
グループイシューボードを作成する
受信イシューバックログに備えて、ラベルでイシューを整理するイシューボードを作成します。これを使用すると、カードをさまざまなリストにドラッグして、イシューをすばやく作成し、ラベルを追加できます。
イシューボードを設定するには:
- ボードのスコープを決定します。たとえば、イシューに重大度を割り当てるために使用するグループイシューボードを作成するなどがあります。
- 左側のサイドバーで、検索または移動先を選択し、triage-tutorial(triage-tutorial)グループを見つけます。
- Plan > イシューボードを選択します。
- イシューボードページの上部左隅にあるドロップダウンリストで、現在のボード名を選択します。
- 新しいボードを作成するを選択します。
- タイトルフィールドに、
Issue triage (by severity)を入力します。 - オープンリストを表示するチェックボックスを選択したまま、クローズドリストを表示するチェックボックスをオフにします。
- ボードを作成するを選択します。空のボードが表示されます。
severity::1ラベルのリストを作成します:- イシューボードページの右上隅で、Create list(リストを作成)()を選択します。
- 表示される列で、値ドロップダウンリストから、
severity::1ラベルを選択します。 - リストの下部にあるボードに追加を選択します。
- ラベル
severity::2、severity::3、およびseverity::4について、前の手順を繰り返します。
今のところ、ボードのリストは空である必要があります。次に、いくつかのイシューを入力された状態にします。
機能のイシューを作成する
今後の機能とバグを追跡するには、いくつかのイシューを作成する必要があります。イシューはプロジェクトに属していますが、グループイシューボードから直接作成することもできます。
計画された機能のイシューをいくつか作成することから始めます。バグを見つけたら、それらのイシューを作成できます(あまり多くないことを願っています!)。
Issue triage (by severity)(重大度別のイシュートリアージ)ボードからイシューを作成するには:
オープンリストに移動します。このリストには、他のボードリストに適合しないイシューが表示されます。イシューに必要な重大度ラベルが既にわかっている場合は、そのラベルのリストから直接作成できます。ラベルリストから作成された各イシューには、そのラベルが付けられていることに注意してください。
今のところ、オープンリストの使用に進みます。
オープンリストで、イシューの新規作成アイコン( )を選択します。
フィールドに入力します:
- タイトルの下に、
User registrationと入力します。 - このイシューが適用されるプロジェクトを選択します。
test-project-1を選択します。
- タイトルの下に、
イシューの作成を選択します。
これらの手順を繰り返して、さらにいくつかのイシューを作成します。
たとえば、アプリをビルドしている場合、
test-project-1とtest-project-2がアプリケーションのバックエンドとフロントエンドを参照していると想像してください。次のイシューを作成し、必要に応じてプロジェクトに割り当てます:User registrationProfile creationSearch functionalityAdd to favoritesPush notificationsSocial sharingIn-app messagingTrack progressFeedback and ratingsSettings and preferences
最初のトリアージイシューボードの準備ができました。オープンリストからラベルリストのいずれかにイシューをドラッグして、重大度ラベルのいずれかを追加して試してみてください。
次の手順
その後、次のことができるようになります:
イシューボードの使用方法を微調整します。次のようなオプションがあります:
- 現在のイシューボードを編集して、優先順位と種類のラベルのリストも表示されるようにします。これにより、ボードが広くなり、水平スクロールが必要になる場合があります。
Issue triage (by priority)とIssue triage (by type)という名前の別のイシューボードを作成します。これにより、さまざまな種類のトリアージ作業を分離できますが、ボードを切り替える必要があります。- チームハンドオフ用のイシューボードをセットアップする
イシューリストで優先順位または重大度別にイシューを参照し、各ラベルでフィルターします。利用可能な場合は、「次のいずれか」フィルター演算子を使用します。
イシューをタスクに分割します。
gitlab-triagegemを使用して、プロジェクトでイシュートリアージを自動化するのに役立つポリシーを作成します。次のようなヒートマップを使用してサマリーレポートを生成します:
GitLabのイシュートリアージの詳細については、Issue TriageとTriage Operationsをご覧ください。


