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

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

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

イシュートリアージとは、タイプと重大度に応じて分類するプロセスです。プロジェクトが拡大し、イシューの作成数が増えるにつれて、受信するイシューをどのようにトリアージするかについてワークフローを作成する価値があります。

このチュートリアルでは、このシナリオのために、サブグループを持つGitLabグループをセットアップする方法を学びます。

イシュートリアージのために、サブグループを持つ複雑なグループのためにGitLabをセットアップするには、次の手順に従います:

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

はじめる前

グループを作成する

グループは、本質的に、複数のプロジェクトのコンテナです。これにより、ユーザーは複数のプロジェクトを管理し、グループメンバーと一度に通信できます。

新しいグループを作成します:

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

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

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

新しいサブグループを作成するには、次の手順に従います:

  1. 左側のサイドバーで、検索または移動先を選択して、Web App Dev(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(タイプ)のイシュー。より詳細なアプローチが必要な場合は、タイプごとにサブタイプを作成することもできます。タイプは、チームにリクエストされる作業の種類を理解するために、作業を分類するのに役立ちます。
  • 受信する作業がエンドユーザーに与える影響を定義し、優先順位付けを支援するためのpriorities(優先順位)とseverities(重大度)のレベル。

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

  • タイプ: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(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(Web App Dev)グループを見つけます。
  3. Plan > イシューボードを選択します。
  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でのイシュートリアージの詳細については、Issue TriageおよびTriage Operationsを参照してください。