ラベル

GitLab でイシューやマージリクエスト、エピックが増えるにつれて、それらのアイテムを追跡するのが難しくなってきます。特に、あなたの組織が数人から数百人、数千人と大きくなるにつれて。ラベルを使えば、作業を整理してタグ付けし、興味のある作業項目を追跡することができます。

ラベルはイシューボードの重要な要素です。ラベルを使用すると、次のことができます:

  • bugfeature requestdocsのような色と説明的なタイトルを使用して、エピック、イシュー、マージリクエストを分類します。
  • エピック、イシュー、マージリクエストを動的にフィルタリングし、管理します。
  • イシュー、マージリクエスト、エピック、イシューボードのリストを検索できます。

ラベルの種類

GitLabでは2種類のラベルを使うことができます:

  • プロジェクトラベルは、そのプロジェクト内のイシューやマージリクエストにのみ割り当てることができます。
  • グループラベルは、選択したグループまたはそのサブグループ内のすべてのプロジェクトのイシュー、マージリクエスト、エピックに割り当てることができます。

ラベルの割り当てと割り当て解除

あらゆるイシュー、マージリクエスト、エピックにラベルを割り当てることができます。

変更されたラベルは、ページを更新することなく、他のユーザーからすぐに確認できます:

  • エピック
  • 事件
  • イシュー
  • マージリクエスト

ラベルの割り当てまたは割り当て解除を行います:

  1. サイドバーの[ラベル]セクションで[編集]を選択します。
  2. ラベルの割り当て] リストで、ラベル名を入力してラベルを検索します。繰り返し検索して、ラベルを追加できます。選択したラベルにはチェックマークが付きます。
  3. 割り当てまたは割り当て解除するラベルを選択します。
  4. ラベルに変更を適用するには、[ラベルの割り当て] の横にある[X] を選択するか、ラベル セクション以外の領域を選択します。

また、ラベルの割り当てを解除するには、解除したいラベルのXを選択します。

クイックアクションでもラベルの割り当てと割り当て解除ができます:

  • /labelでラベルを割り当てます。
  • /unlabelを使ってラベルを削除します。
  • すべてのラベルを削除し、/relabelで新しいラベルを割り当てます。

利用可能なラベルの表示

プロジェクトラベルを見る

GitLab 13.5で導入されました:プロジェクトのラベルリストには継承されたラベルも全て表示されます。

プロジェクトのラベルを表示するには:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。

または:

  1. イシューまたはマージリクエストを表示します。
  2. 右サイドバーの[ラベル]セクションで[編集]を選択します。
  3. プロジェクト・ラベルの管理」を選択します。

ラベルのリストには、プロジェクトで作成されたラベルと、プロジェクトの祖先グループで作成されたすべてのラベルの両方が含まれます。各ラベルについて、そのラベルが作成されたプロジェクトまたはグループのパスを確認できます。

グループラベルの表示

グループのラベルを表示します:

  1. 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
  2. 管理]>[ラベル]を選択します。

または:

  1. エピックを見る
  2. 右サイドバーの[ラベル]セクションで[編集]を選択します。
  3. グループラベルの管理]を選択します。

リストには、グループでのみ作成されたすべてのラベルが含まれます。グループのプロジェクトで作成されたラベルはリストされません。

ラベルの作成

前提条件:

  • 少なくともプロジェクトまたはグループのレポーターロールを持っている必要があります。

プロジェクトラベルの作成

プロジェクトラベルを作成します:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. 新しいラベルを選択します。
  4. タイトル]フィールドに、ラベルの短い説明的な名前を入力します。このフィールドを使用して、スコープ付きの相互排他的ラベルを作成することもできます。
  5. オプション。説明] フィールドに、このラベルの使用方法と使用時期に関する追加情報を入力します。
  6. オプション。使用可能な色から色を選択するか、[背景色] フィールドに特定の色の 16 進カラー値を入力します。
  7. ラベルの作成] を選択します。

イシューまたはマージリクエストからプロジェクトラベルを作成します。

イシューやマージリクエストから新しいプロジェクトラベルを作成することもできます。この方法で作成したラベルは、イシューやマージリクエストと同じプロジェクトに属します。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

を使用します:

  1. イシューまたはマージリクエストを表示します。
  2. 右サイドバーの[ラベル]セクションで[編集]を選択します。
  3. プロジェクト・ラベルの作成」を選択します。
  4. 名前フィールドに入力します。この方法でラベルを作成する場合、説明を指定することはできません。後でラベルを編集して説明を追加できます。
  5. 利用可能な色から色を選択するか、特定の色の16進数カラー値を入力します。
  6. 作成] を選択します。ラベルが作成され、選択されます。

グループラベルの作成

グループラベルを作成します:

  1. 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
  2. 管理]>[ラベル]を選択します。
  3. 新しいラベルを選択します。
  4. タイトル]フィールドに、ラベルの短い説明的な名前を入力します。このフィールドを使用して、スコープ付きの相互排他的ラベルを作成することもできます。
  5. オプション。説明] フィールドに、このラベルの使用方法と使用時期に関する追加情報を入力します。
  6. オプション。使用可能な色から色を選択するか、[背景色] フィールドに特定の色の 16 進カラー値を入力します。
  7. ラベルの作成] を選択します。

エピックからグループラベルを作成します。

エピックから新しいグループラベルを作成することもできます。この方法で作成したラベルは、エピックと同じグループに属します。

前提条件:

  • 少なくともグループのレポーターロールを持っている必要があります。

を使用します:

  1. エピックを見る
  2. 右サイドバーの[ラベル]セクションで[編集]を選択します。
  3. グループラベルの作成]を選択します。
  4. 名前フィールドに入力します。この方法でラベルを作成する場合、説明を指定することはできません。後でラベルを編集して説明を追加できます。
  5. 利用可能な色から色を選択し、特定の色の16進数カラー値を入力します。
  6. 作成を選択します。

ラベルの編集

前提条件:

  • 少なくともプロジェクトまたはグループのレポーターロールを持っている必要があります。

プロジェクトラベルの編集

プロジェクトラベルを編集するには

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. 編集するラベルの横にある[編集({鉛筆})]を選択します。

グループラベルの編集

グループラベルを編集します:

  1. 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
  2. 管理]>[ラベル]を選択します。
  3. 編集するラベルの横にある[編集({鉛筆})]を選択します。

ラベルの削除

caution
ラベルを削除すると、そのラベルは永久に削除されます。ラベルへの参照はすべてシステムから削除され、 削除を取り消すことはできません。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

プロジェクトラベルの削除

プロジェクトラベルを削除します:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. どちらか:

    • 購読ボタンの横で({ellipsis_v}) を選択します。
    • 編集するラベルの横にある[編集({鉛筆})]を選択します。
  4. 削除]を選択します。

グループラベルの削除

グループラベルを削除します:

  1. 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
  2. 管理]>[ラベル]を選択します。
  3. どちらか:

    • 購読ボタンの横で({ellipsis_v}) を選択します。
    • 編集するラベルの横にある[編集({鉛筆})]を選択します。
  4. 削除]を選択します。

プロジェクトラベルをグループラベルに昇格させます。

GitLab 13.6から導入された機能です。プロジェクトラベルを昇格させることで、そのラベルのIDを保持したままグループラベルに変更することができます。以前は、プロジェクトラベルを昇格させると、新しいIDで新しいグループラベルが作成され、古いラベルは削除されていました。

プロジェクトラベルを同じグループの他のプロジェクトでも利用できるようにしたい場合があります。その場合、ラベルをグループラベルに昇格させることができます。

同じグループ内の他のプロジェクトに同じタイトルのラベルがある場合、それらはすべて新しいグループラベルにマージされます。同じタイトルのグループラベルが存在する場合は、それもマージされます。

caution
ラベルを昇格させることは永続的なアクションであり、元に戻すことはできません。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。
  • プロジェクトの親グループのレポーターロールを持っている必要があります。

プロジェクトラベルをグループラベルに昇格させるには:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. 購読」ボタンの横にある3つの点({ellipsis_v})を選択し、「グループラベルに昇格させる」を選択します。

古いラベルのすべてのイシュー、マージリクエスト、掲示板リスト、掲示板フィルタ、ラベル購読が新しいグループラベルに割り当てられます。

新しいグループラベルは以前のプロジェクトラベルと同じIDを持ちます。

サブグループラベルを親グループに昇格させます。

グループラベルを親グループに直接昇格させることはできません。これを実現するには、以下の回避策を使用します。

前提条件:

  • サブグループを含むグループ(「親グループ」)が存在すること。
  • 親グループの中に、昇格させたいラベルを持つサブグループがなければなりません。
  • 少なくとも両方のグループのレポーターロールを持っている必要があります。

ラベルを親グループに「昇格」させるには:

  1. 親グループに、元のラベルと同じ名前のラベルを作成します。親グループで、元のラベルと同じ名前のラベルを作成します。
  2. サブグループでラベルを表示します。2つのラベルとそのラベルがどこから来たのかがわかるはずです:

    parent group and subgroup labels in the subgroup's label list

  3. サブグループラベル(古い方)の横にある、[イシュー]、[マージリクエスト]、または[エピック]を選択します。
  4. 古いラベルを持つイシュー、マージリクエスト、エピックに新しいラベルを追加します。より速く行うには、一括編集を使用します。
  5. サブグループまたは親グループで、下位グループに属するラベルを削除します。

これで、親グループに古いラベルと同じ名前のラベルができ、同じイシュー、MR、エピックに追加されるはずです。

デフォルトのプロジェクトラベルの生成

プロジェクトやその親グループにラベルがない場合、ラベル一覧ページからデフォルトのプロジェクトラベルを生成することができます。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。
  • プロジェクトにラベルがないこと。

プロジェクトにデフォルトのラベルを追加します:

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. デフ ォ ル ト ラ ベル セ ッ ト の生成] を選択 し ます。

以下のラベルが作成されます:

  • bug
  • confirmed
  • critical
  • discussion
  • documentation
  • enhancement
  • suggestion
  • support

スコープ付きラベル

チームでは、スコープ付きラベルを使用して、イシュー、マージリクエスト、エピックに相互に排他的なラベルで注釈を付けることができます。特定のラベルを一緒に使用できないようにすることで、より複雑なワークフローを作成できます。

Scoped labels

スコープ付きラベルは、タイトルにダブルコロン (::) 構文を使用します。例:workflow::in-review.

イシュー、マージ・リクエスト、またはエピックは、key::valueの形式で、同じkey.を key持つ2つのスコープ付きラベルを持つことはできません。valuekey同じ keyで異なるkey新しいラベルを key追加すると、以前のkey ラベルは新しいラベルに置き換えられます。

概要については、スコープド・ラベル・スピードランをご覧ください。

スコープ付きラベルによるフィルタリング

GitLab 14.4で導入されました

指定したスコープでイシュー、マージリクエスト、エピックリストをフィルタするには、検索するラベル名に<scope>::* と入力してください。

例えば、platform::* ラベルでフィルタリングすると、platform::iOSplatform::Androidplatform::Linux ラベルを持つイシューが返されます。

note
スコープラベルによるフィルタリングは、イシューやマージリクエストのダッシュボードページでは利用できません。

スコープラベルの例

例 1.イシューの優先度を更新します:

  1. あるイシューの優先度が低いと判断し、priority::low のラベルを割り当てます。
  2. レビュアーがさらにレビューした後、あなたはそのイシューの優先度が高いことに気づき、priority::high のラベルを割り当てます。
  3. イシューは同時に2つの優先度ラベルを持つべきではありませんから、GitLabはpriority::low のラベルを削除します。

例 2.イシューにカスタムフィールドを設け、機能の対象となるオペレーティングシステムのプラットフォームを追跡できるようにしたいとします。

3つのラベルを作成します:

  • platform::iOS
  • platform::Android
  • platform::Linux

これらのラベルのいずれかをイシューに割り当てると、platform:: で始まる既存のラベルは自動的に削除されます。

例 3.スコープ付きラベルを使用して、チームのワークフロー状態を表すことができます。

次のようなラベルがあるとします:

  • workflow::development
  • workflow::review
  • workflow::deployed

あるイシューに既にworkflow::development のラベルがあり、開発者がそのイシューが現在レビュアーであることを示したい場合、workflow::review を割り当て、workflow::development のラベルは削除されます。

イシューボードのラベルリスト間で課題を移動する場合も同様です。スコープ付きラベルを使用すると、課題ボードで作業していないチームメンバーも、イシュー自体で一貫してワークフローの状態を進めることができます。

ビデオによる説明は、こちらをご覧ください:

入れ子のスコープ

ラベルを:: 作成する際に ::複数のダブルコロンを使うことで、入れ子になったスコープを持つラベルを作成することができます。この場合:: 、最後のコロンより前が ::スコープとなります。

例えば、プロジェクトに次のようなラベルがあるとします:

  • workflow::backend::review
  • workflow::backend::development
  • workflow::frontend::review

イシューはworkflow::backend::reviewworkflow::backend::development の両方のラベルを同時に持つことはできません。なぜなら、これらのラベルはどちらも同じスコープを共有しているからです:workflow::backend

一方、イシューはworkflow::backend::reviewworkflow::frontend::review のラベルを同時に持つことができますが、これは両者が異なるスコープを持つためです:workflow::frontendworkflow::backend

ラベル使用時の通知

ラベルを購読すると、ラベルがイシュー、マージリクエスト、エピックに割り当てられたときに通知を受け取ることができます。

ラベルを購読するには

  1. ラベル一覧ページを表示します。
  2. ラベルの右側にある「購読」を選択します。
  3. オプション。プロジェクトからグループラベルを購読する場合は、どちらかを選択します:
    • プロジェクトレベルで購読し、このプロジェクトのイベントを通知します。
    • グループレベルで購読すると、グループ全体のイベントについて通知されます。

ラベルの優先度を設定

ラベルには相対的な優先度を設定できます。これは、ラベルの優先度と優先度でイシューやマージリクエストリストをソートするときに使用されます。

ラベルに優先順位を付ける場合は、プロジェクトから行う必要があります。グループラベルリストから行うことはできません。

note
優先順位の並べ替えは、最も優先順位の高いラベルのみに基づいています。このディスカッションでは、これを変更することを検討します。

前提条件:

  • 少なくともプロジェクトのレポーターロールを持っている必要があります。

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

  1. 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
  2. 管理]>[ラベル]を選択します。
  3. 優先したいラベルの横にある星印({star-o})を選択します。

Labels prioritized

このラベルはラベルリストの一番上、[優先ラベル] の下に表示されます。

これらのラベルの相対的な優先順位を変更するには、ラベルをリストの上下にドラッグします。リストの上位のラベルほど優先度が高くなります。

優先度またはラベルの優先度でソートするとどうなるかについては、イシュー・リストのソートと順序付けを参照してください。

以下のチュートリアルで、ラベルの扱い方を練習しましょう:

トラブルシューティング

ラベルタイトルの末尾に_duplicate<number>

特定の状況では、同じ名前空間に重複したタイトルのラベルを作成することが可能でした。

重複を解決するため、GitLab 13.2以降では、重複するラベルのタイトルに_duplicate<number>

お望みであれば、これらのラベルのタイトルを安全に変更することができます。元の問題の詳細については、イシュー30390をご覧ください。