正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: イシュートリアージ用のサブグループを含む複合グループをセットアップする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

トリアージとは、種類と重大度に応じて分類するプロセスです。プロジェクトが成長し、より多くのイシューが作成されるにつれて、受信イシューをトリアージする方法のワークフローを作成する価値があります。

このチュートリアルでは、このシナリオに合わせてGitLabグループにサブグループを設定する方法を学習します。

イシュートリアージのためにサブグループを含む複雑なグループ向けにGitLabを設定するには:

  1. グループを作成する
  2. グループ内にサブグループを作成
  3. サブグループ内にプロジェクトを作成
  4. 種類、重大度、および優先順位の基準を決定
  5. 基準をドキュメント化
  6. スコープ付きラベルを作成
  7. 新しいラベルを優先
  8. 親グループイシューボードトリアージを作成
  9. 機能のイシューを作成

はじめる前

  • このチュートリアルで既存のプロジェクトを使用している場合は、プロジェクトでレポーター、デベロッパー、メンテナー、またはオーナーロールを持っていることを確認してください。
    • 既存のプロジェクトに親グループがない場合は、グループを作成し、プロジェクトのラベルをグループラベルにプロモートします。

グループを作成する

A グループは、本質的に複数のプロジェクトのコンテナです。これにより、ユーザーは複数のプロジェクトを管理し、グループメンバーと一度にコミュニケーションをとることができます。

新規グループを作成するには:

  1. 右上隅で、新規作成 plus )を選択し、新規グループを選択します。
  2. グループを作成を選択します。
  3. グループの詳細を入力します:
    • グループ名には、Web App Devまたは別の値を入力します。
  4. ページ下部で、グループを作成を選択します。

グループ内にサブグループを作成

A サブグループは、グループ内のグループです。サブグループは、大規模なプロジェクトを整理し、権限を管理するのに役立ちます。

新規サブグループを作成するには:

  1. 上部のバーで、検索または移動先を選択し、Web App Devグループを見つけます。
  2. 新規作成 plus )、新しいサブグループを選択します。
  3. サブグループの詳細を入力します:
    • サブグループ名には、Frontendまたは別の値を入力します。
  4. サブグループを作成を選択します。
  5. このプロセスを繰り返して、Backendという名前の2番目のサブグループ、または別の値を作成します。

サブグループ内にプロジェクトを作成

複数のプロジェクトでイシュートラッキングを管理するには、サブグループ内にプロジェクトを作成する必要があります。

新規プロジェクトを作成するには:

  1. 上部のバーで、検索または移動先を選択し、Frontendサブグループを見つけます。
  2. 右上隅で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  3. 空のプロジェクトの作成を選択します。
  4. プロジェクトの詳細を入力します。
    • プロジェクト名に、Web UIと入力します。詳細については、プロジェクトの命名規則を参照してください。
  5. ページ下部で、プロジェクトを作成を選択します。
  6. このプロセスを繰り返して、FrontendサブグループにAccessibility Auditという名前の2番目のプロジェクトと、BackendサブグループにAPIという名前の3番目のプロジェクトを作成します。

種類、重大度、および優先順位の基準を決定

次に、以下を決定する必要があります:

  • 認識したいTypesのイシュー。よりきめ細かいアプローチが必要な場合は、各種類にサブタイプを作成することもできます。タイプは、チームに要求される作業の種類を理解するために、作業を分類するのに役立ちます。
  • prioritiesseveritiesのレベル。これは、受信する作業がエンドユーザーに与える影響を定義し、優先順位付けを支援するためです。

このチュートリアルでは、以下を決定したとします:

  • 種類: BugFeature、およびMaintenance
  • 優先: 123、および4
  • 重大度: 123、および4

参考として、GitLabでこれらをどのように定義しているかを参照してください:

基準をドキュメント化

すべての基準に同意したら、チームメイトがいつでもアクセスできる場所にすべて書き留めてください。

たとえば、プロジェクトのWikiに追加したり、GitLab Pagesで公開された会社のハンドブックに追加したりします。

スコープ付きラベルを作成

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

次に、イシューを分類するために追加するラベルを作成します。

これに最適なツールはスコープ付きラベルで、これを使用して相互に排他的な属性を設定できます。

以前にまとめた種類、重大度、および優先順位のリストと照合して、一致するスコープ付きラベルを作成します。

スコープ付きラベル名にあるダブルコロン(::)は、同じスコープの2つのラベルが一緒に使用されるのを防ぎます。たとえば、type::featureラベルをすでにtype::bugを持つイシューに追加すると、以前のものが削除されます。

スコープ付きラベルはPremiumおよびUltimateプランで利用できます。Freeプランの場合は、代わりに通常のラベルを使用できます。ただし、それらは相互に排他的ではありません。

すべてのサブグループのすべてのプロジェクトでラベルを利用できるようにするには、まずサブグループを含む親グループに移動します。特定のサブグループ内のプロジェクトでのみラベルを利用できるようにしたい場合は、サブグループ内からこれらの手順に従ってください。

各ラベルを作成するには:

  1. 上部のバーで、検索または移動先を選択し、Web App Devグループを見つけます。
  2. 管理 > ラベルを選択します。
  3. 新しいラベルを選択します。
  4. タイトルフィールドにラベルの名前を入力します。から開始します。type::bugで始まる。
  5. (オプション)利用可能な色から色を選択するか、背景色フィールドに特定の色の16進数のカラー値を入力します。
  6. ラベルを作成を選択します。

手順3〜6を繰り返して、必要なすべてのラベルを作成します。次に例を示します:

  • type::bug
  • type::feature
  • type::maintenance
  • priority::1
  • priority::2
  • priority::3
  • priority::4
  • severity::1
  • severity::2
  • severity::3
  • severity::4

新しいラベルを優先

ここで、新しいラベルを優先ラベルとして設定します。これにより、イシューを優先順位またはラベル優先順位でソートした場合に、最も重要なイシューがイシューリストの最上部に表示されるようになります。

優先順またはラベル優先順でソートした場合に何が起こるかについては、イシューリストのソートと順序付けを参照してください。

ラベルの優先順位を付けるには:

  1. ラベルページで、優先順位を付けたいラベルの横にある優先順位を付ける star-o )を選択します。このラベルは、優先ラベルの下のラベルリストの最上部に表示されます。
  2. これらのラベルの相対的な優先度を変更するには、リストを上下にドラッグします。リストの上位にあるラベルほど優先順位が高くなります。
  3. 以前に作成したすべてのラベルの優先順位を付けます。優先順位と重大度が高いラベルが、値の低いラベルよりもリストの上位にあることを確認してください。

11個の優先ラベル付きスコープ付きラベルのリスト

親グループイシューボードトリアージを作成

受信するイシューバックログに備えて、イシューをラベルで整理するイシューボードを作成します。これを使用して、カードをさまざまなリストにドラッグすることで、イシューをすばやく作成し、ラベルを追加できます。

イシューボードを設定するには:

  1. ボードのスコープを決定します。たとえば、グループイシューボードを作成して、イシューに重大度を割り当てます。
  2. 上部のバーで、検索または移動先を選択し、Web App Devグループを見つけます。
  3. 計画 > イシューボードを選択します。
  4. イシューボードページの上部左隅にあるドロップダウンリストで、現在のボード名を選択します。
  5. 新しいボードを作成を選択します。
  6. タイトルフィールドにIssue triage (by severity)を入力します。
  7. オープンリストを表示するチェックボックスをオンのままにし、クローズドリストを表示するチェックボックスをオフにします。
  8. ボードを作成するを選択します。空のボードが表示されます。
  9. severity::1ラベルのリストを作成します:
    1. イシューボードページの右上隅で、Create listを選択します。
    2. 表示される列で、ドロップダウンリストからseverity::1ラベルを選択します。
    3. リストの下部で、ボードに追加を選択します。
  10. ラベルseverity::2severity::3、およびseverity::4についても、前の手順を繰り返します。

サブグループイシューボードを作成するには、サブグループ内から手順3〜10に従います。

現時点では、ボード内のリストは空であるはずです。次に、いくつかのイシューでそれらを埋めます。

機能のイシューを作成

今後の機能やバグを追跡するには、いくつかのイシューを作成する必要があります。イシューはプロジェクトに属しますが、グループイシューボードから直接作成することもできます。

計画された機能のイシューをいくつか作成することから始めます。バグを見つけたら(うまくいけばあまり多くない!)、それらのイシューを作成できます。

**Issue triage(by severity)**ボードからイシューを作成するには:

  1. オープンリストに移動します。このリストには、他のボードリストに適合しないイシューが表示されます。どの重大度ラベルをイシューに付けるべきか既に分かっている場合は、そのラベルのリストから直接作成できます。ラベルリストから作成された各イシューには、そのラベルが付与されることに注意してください。

    ここでは、オープンリストを使用します。

  2. オープンリストで、イシューの新規作成アイコン( plus )を選択します。

  3. フィールドに入力します:

    • タイトルの下に、Dark mode toggleを入力します。
    • このイシューが適用されるプロジェクトを選択します。Frontend / Web UIを選択します。
  4. イシューを作成を選択します。

  5. これらの手順を繰り返して、さらにいくつかのイシューを作成します。

    たとえば、Web APIアプリを構築している場合、FrontendBackendは異なるエンジニアリングチームを指します。プロジェクトは、スタック開発のさまざまな側面を指します。以下に示すイシューを作成し、必要に応じてプロジェクトに割り当てます:

    • User registration
    • Profile creation
    • Search functionality
    • Add to favorites
    • Push notifications
    • Social sharing
    • In-app messaging
    • Track progress
    • Feedback and ratings
    • Settings and preferences

あるプロジェクトのイシューボードにあるイシューは、他のプロジェクトのイシューボードからは見ることができません。同様に、あるサブグループのプロジェクト内のイシューは、そのサブグループのイシューボードでのみ表示できます。親グループ内のすべてのプロジェクトのすべてのイシューを表示するには、親グループのイシューボードにいる必要があります。

最初のトリアージイシューボードが準備できました!オープンリストからいくつかのイシューをラベルリストのいずれかにドラッグして、いずれかの重大度ラベルを追加してみてください。

ラベルのないイシューと、イシューへのラベル付けに使用する優先度付き「重大度」ラベルを示すイシューボード

次の手順

その後、次のことができるようになります。

  • イシューボードの使用方法を微調整する。次のようなオプションがあります。

    • 現在のイシューボードを編集して、優先順位と種類ラベルのリストも持たせます。このようにすると、ボードが広くなり、水平スクロールが必要になる場合があります。
    • Issue triage (by priority)Issue triage (by type)という名前の個別のイシューボードを作成します。このようにすると、さまざまな種類のトリアージ作業を分離できますが、ボードを切り替える必要があります。
    • チームハンドオフのためのイシューボードを設定する
  • イシューリストで優先度または重大度別にイシューを閲覧し、各ラベルでフィルタリングします。利用可能な場合は、「is one of」フィルター演算子を使用してください。

  • イシューをタスクに分解します。

  • gitlab-triage gemを使用して、プロジェクトでイシュートリアージを自動化するポリシーを作成します。次のようなヒートマップ付きの概要レポートを生成します:

    「優先」と「重大度」ラベル付きのイシューの対角ヒートマップ

GitLabでのイシュートリアージの詳細については、イシュートリアージトリアージオペレーションを参照してください。