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

チュートリアル: イシュートリアージ用のプロジェクトをセットアップする

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

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

このチュートリアルでは、このためのGitLabプロジェクトをセットアップする方法を学びます。

プロジェクトでイシュートリアージを行うためにGitLabをセットアップするには、次の手順に従います:

  1. プロジェクトを作成する
  2. 種類、重大度、優先順位の条件を決定する
  3. 条件をドキュメント化する
  4. スコープ付きラベルを作成する
  5. 新しいラベルの優先順位を設定する
  6. イシュートリアージイシューボードを作成する
  7. フィーチャーのイシューを作成する

はじめる前

  • このチュートリアルで既存のプロジェクトを使用している場合は、プロジェクトのレポーターロール以上を持っていることを確認してください。
  • 以下の手順に従い、後でプロジェクトの親グループを作成する場合、ラベルを最大限に活用するには、プロジェクトのラベルをグループラベルにプロモートする必要があります。最初にグループを作成することを検討してください。

プロジェクトを作成する

プロジェクトには、今後のコード変更の計画に使用されるイシューが含まれています。

作業中のプロジェクトが既にある場合は、種類、重大度、優先順位の条件を決定するに進んでください。

空のプロジェクトを作成するには:

  1. 左側のサイドバーの上部で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  2. 空のプロジェクトの作成を選択します。
  3. プロジェクトの詳細を入力します。
    • プロジェクト名に、Issue triage tutorialと入力します。
  4. プロジェクトを作成を選択します。

種類、重大度、優先順位の条件を決定する

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

  • 認識するイシューの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. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 管理 > ラベルを選択します。
  3. 新しいラベルを選択します。
  4. タイトルフィールドに、ラベルの名前を入力します。type::bugで始まる。
  5. オプション。使用可能な色から選択するか、背景色フィールドに特定の色を表す16進数のカラー値を入力して、色を選択します。
  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. イシューボードのスコープを決定します。たとえば、重大度をイシューに割り当てるために使用するイシューボードを1つ作成します。
  2. 左側のサイドバーで、検索または移動先を選択し、Issue triage tutorial(イシュートリアージチュートリアル)プロジェクトを見つけます。
  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に対して前の手順を繰り返します。

今のところ、イシューボードのリストは空である必要があります。次に、入力されたいくつかのイシューを追加します。

フィーチャーのイシューを作成する

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

計画されたフィーチャーのイシューをいくつか作成することから始めます。バグを見つけたら、それらのイシューを作成できます(あまり多くないことを願っています)。

Issue triage (by severity)(イシュートリアージ(重大度別))イシューボードからイシューを作成するには、次の手順に従います:

  1. オープンリストで、イシューの新規作成 plus )を選択します。オープンリストには、他のイシューボードリストに適合しないイシューが表示されます。

    イシューにどの重大度ラベルを付ける必要があるかを既に知っている場合は、そのラベルリストから直接作成できます。ラベルリストから作成された各イシューには、そのラベルが付けられます。

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

    • タイトルに、User registrationを入力します。
  3. イシューの作成を選択します。

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

    たとえば、アプリをビルドする場合は、次のイシューを作成します:

    • 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)という名前の個別のイシューボードを作成します。このようにすると、さまざまな種類のトリアージ作業を分離できますが、イシューボードを切り替える必要が生じます。
    • チームハンドオフのためにイシューボードを設定する
  • イシューリストで優先度または重大度でイシューを参照し、各ラベルでフィルター処理します。利用可能な場合は、「次のいずれか」フィルター演算子を使用してください。

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

  • gitlab-triage gemを使用して、プロジェクトのイシュートリアージを自動化するのに役立つポリシーを作成します。次のようなヒートマップを含むサマリーレポートを生成します:

    「優先度」と「重大度」のラベルが付いたイシューの斜めヒートマップ

GitLabのイシュートリアージの詳細については、イシュートリアージトリアージ操作を参照してください。