ラベル

概要

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

ラベルはイシューボードの重要な要素です。 ラベルを使えば、以下のことができます:

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

プロジェクトラベルとグループラベル

GitLabには2種類のラベルがあります:

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

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

すべてのイシュー、マージリクエスト、エピックには、任意の数のラベルを割り当てることができます。 ラベルは右サイドバーで管理され、必要に応じてラベルを割り当てたり、割り当てなかったりすることができます。

イシュー、マージリクエスト、エピックにラベルを割り当てます:

  1. サイドバーのラベルセクションで、「編集」をクリックします:
    • 各ラベルにはチェックマークが付いています。
    • 検索クエリを入力して検索({search}) をクリックし、ラベルをクリックして検索します。 繰り返し検索してラベルを追加できます。
  2. X」またはラベルセクションの外側のどこかをクリックすると、ラベルが適用されます。

/assign @username クイックアクションでラベルを割り当てることもできます。

ラベル管理

権限レベルがReporter 以上のユーザーは、ラベルの作成と編集ができます。

プロジェクトラベル

プロジェクトに移動して[イシュー]→[ラベル]をクリックすると、プロジェクトのラベル・リストが表示されます。 リストには、プロジェクト・レベルで定義されたすべてのラベルと、直接の親グループから継承されたすべてのラベルが含まれます。 上部に検索クエリを入力して検索({search})をクリックすると、リストをフィルタリングできます。

新しいプロジェクト・ラベルを作成するには:

  1. プロジェクトの[イシュー]→[ラベル]に移動します。
  2. 新しいラベルボタンをクリックします。
    • タイトルを入力してください。
    • (オプション)説明を入力します。
    • (オプション)利用可能な色をクリックして背景色を選択するか、特定の色の16進数カラー値を入力します。
  3. ラベルの作成]をクリックしてラベルを作成します。

イシューやマージリクエストの右サイドバーのラベルセクションで、新しいプロジェクトラベルを作成することもできます:

  1. 編集をクリックします。
  2. プロジェクトラベルの作成」をクリックします。
    • この方法でラベルを作成する場合、説明を指定することはできません。 後でラベルを編集して説明を追加することができます(下記参照)。
    • (オプション) 利用可能な色をクリックして色を選択するか、特定の色の16進数カラー値を入力します。
  3. 作成をクリックします。

一度作成したラベルは、鉛筆({pencil})をクリックして編集したり、購読ボタンの横にある3つの点({ellipsis_v})をクリックして削除を選択することで削除することができます。

プロジェクトラベルをグループラベルに昇格

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

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

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

警告:注意:ラベルの昇格させることは永久的なアクションであり、元に戻すことはできません。

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

  1. プロジェクトの[イシュー]→[ラベル]に移動します。
  2. Subscribe」ボタンの横にある3つの点({ellipsis_v})をクリックし、「Promote togrouplabel」を選択します。

グループラベル

グループ・ラベル・リストを表示するには、グループに移動して[課題]→[ラベル]をクリックします。 リストにはグループ・レベルで定義されたラベルのみがすべて含まれます。 プロジェクトで定義されたラベルはリストされません。 上部に検索クエリを入力して検索({search})をクリックすると、リストをフィルタリングできます。

グループ・ラベルを作成するには、グループの[イシュー]→[ラベル]に移動し、プロジェクト・ラベルの作成と同じ手順に従ってください。

エピックからグループラベルを作成

エピック・サイドバーからグループ・ラベルを作成することができます。 作成したラベルは、エピックが所属する直近のグループに属します。 手順は、イシューやマージリクエストからプロジェクト・ラベルを作成するのと同じです。

デフォルトラベルの生成

プロジェクトやグループにラベルがない場合、ラベルリストページからプロジェクトやグループのデフォルトラベルを生成することができます。 このページでは、リストが空の場合、Generate a default set of labelsボタンが表示され、クリックすると以下のデフォルトラベルがプロジェクトに追加されます:

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

スコープ付きラベル

GitLab Premium11.10で導入されました

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

ラベルのタイトルに特別なダブルコロン (::) 構文を使用する場合など、ラベルはスコープされます:

Sample scoped labels

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

使用例

  1. イシューは優先度が低いと判断され、priority::low プロジェクトラベルが追加されます。
  2. レビュアーがさらにレビューした後、イシューの優先順位が上がり、priority::high のラベルが追加されます。
  3. GitLabはpriority::low のラベルを自動的に削除します。イシューは同時に2つの優先度ラベルを持つべきではありません。

スコープ付きラベルを使用したワークフロー

各イシューが1つのプラットフォームのみを対象としている場合に、機能の対象となるオペレーティング・システム・プラットフォームを追跡するためのカスタム・フィールドをイシューに作成したいとします。その場合、platform::iOSplatform::Androidplatform::Linuxの3つのラベルを作成します。与えられたイシューにこれらのラベルのいずれかを適用すると、platform::で始まる既存のラベルは自動的に削除されます。

同じパターンを、チームのワークフロー状態の表現にも適用できます。例えば、workflow::developmentworkflow::reviewworkflow::deployedというラベルがあるとします。あるイシューに既にworkflow::developmentというラベルが適用されていて、開発者がそのイシューをworkflow::reviewに進めたい場合、そのラベルを適用するだけで、workflow::development のラベルは自動的に削除されます。この動作は、イシュー・ボード内のラベル・リスト間でイシューを移動する際に既に存在しますが、イシュー・ボードで直接作業していないチーム・メンバーも、イシュー自体で一貫してワークフロー状態を進めることができるようになります。

この機能は、カスタムフィールドとワークフローのスコープラベルの使用に関するビデオで実演されています。

ネストされたスコープを持つスコープ付きラベル

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

例えば、workflow::backend::reviewworkflow::backend::development は有効なスコープを持つラベルですが、どちらも同じスコープであるworkflow::backendを共有しているため、同じイシュー上に同時に存在することはできません。

さらに、workflow::backend::reviewworkflow::frontend::review は有効なスコープを持つラベルであり、workflow::frontendworkflow::backendという異なるスコープを持つため、同じイシュー上に同時に存在することができます。

ラベルの購読

プロジェクトラベルリストページとグループラベルリストページで、ラベルの右側にある[購読]をクリックすると、そのラベルの通知を有効にすることができます。 そのラベルがエピック、イシュー、マージリクエストに割り当てられるたびに通知が届きます。

プロジェクト内からグループラベルを購読する場合、プロジェクトのみ、またはグループ全体のラベル通知を購読するように選択できます。

Labels subscriptions

ラベルの優先順位

ラベルは相対的な優先順位を持つことができ、この優先順位はエピック、イシュー、マージリクエスト一覧ページのラベル優先順位と優先順位のソート順で使用されます。 グループラベルとプロジェクトラベルの優先順位付けはプロジェクトレベルで行われ、グループラベルリストから行うことはできません。

プロジェクトラベルリストのページから、優先順位を示すラベルに星印を付けます。

Labels prioritized

星印ラベルをリストの上下にドラッグして優先順位を変更できます。

Drag to change label priority

エピック、マージリクエスト、イシューリストのページ(グループとプロジェクトの両方)では、Label priority またはPriorityでソートできます。

Label priorityでソートした場合、GitLabはこのソート比較順を使用します:

  1. 優先順位の高いラベルが貼られているもの
  2. 優先ラベルのない項目

優先順位の最も高いラベルのみがチェックされ、優先順位の低いラベルは無視されることに注意してください。 詳細はこの関連イシューを参照してください。

Labels sort label priority

Priorityでソートした場合、GitLabはこのソート比較順を使用します:

  1. マイルストーンには期限があり、最も早く割り当てられたマイルストーンが最初に表示されます。
  2. 期限のないマイルストーンがある項目。
  3. 優先順位の高いラベルが貼られているもの
  4. 優先ラベルのない項目

同点に追いつくのは任意。

Labels sort priority

トラブルシューティング

で終わるレーベルタイトルもあります。_duplicate<number>

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

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

元の問題の詳細については、イシュー30390をご覧ください。