ラベル
概要
GitLab でイシューやマージリクエスト、エピックが増えてくると、それらのアイテムを追跡するのが難しくなってきます。 特に、組織が数人から数百人、数千人と大きくなってくるとなおさらです。 そこで、ラベルの出番です。 ラベルは作業を整理してタグ付けするのを助け、興味のある作業アイテムを追跡したり見つけたりできるようにします。
ラベルはイシューボードの重要な要素です。 ラベルを使えば、以下のことができます:
-
bug
,feature request
,docs
のような色と説明的なタイトルを使用して、エピック、イシュー、マージリクエストを分類します。 - エピック、イシュー、マージリクエストを動的にフィルタリングし、管理します。
- イシュー、マージリクエスト、エピック、イシューボードのリストを検索できます。
プロジェクトラベルとグループラベル
GitLabには2種類のラベルがあります:
- プロジェクトラベルは、そのプロジェクト内のイシューやマージリクエストにのみ割り当てることができます。
-
グループラベルは、選択したグループまたはそのサブグループのプロジェクト内のイシューやマージリクエストに割り当てることができます。
- また、選択したグループやそのサブグループのエピックに割り当てることもできます。
ラベルの割り当てと割り当て解除
すべてのイシュー、マージリクエスト、エピックには、任意の数のラベルを割り当てることができます。 ラベルは右サイドバーで管理され、必要に応じてラベルを割り当てたり、割り当てなかったりすることができます。
イシュー、マージリクエスト、エピックにラベルを割り当てます:
- サイドバーのラベルセクションで、「編集」をクリックします:
- 各ラベルにはチェックマークが付いています。
- 検索クエリを入力して検索({search}) をクリックし、ラベルをクリックして検索します。 繰り返し検索してラベルを追加できます。
- X」またはラベルセクションの外側のどこかをクリックすると、ラベルが適用されます。
/assign @username
クイックアクションでラベルを割り当てることもできます。
ラベル管理
権限レベルがReporter 以上のユーザーは、ラベルの作成と編集ができます。
プロジェクトラベル
プロジェクトに移動して[イシュー]→[ラベル]をクリックすると、プロジェクトのラベル・リストが表示されます。 リストには、プロジェクト・レベルで定義されたすべてのラベルと、直接の親グループから継承されたすべてのラベルが含まれます。 上部に検索クエリを入力して検索({search})をクリックすると、リストをフィルタリングできます。
新しいプロジェクト・ラベルを作成するには:
- プロジェクトの[イシュー]→[ラベル]に移動します。
-
新しいラベルボタンをクリックします。
- タイトルを入力してください。
- (オプション)説明を入力します。
- (オプション)利用可能な色をクリックして背景色を選択するか、特定の色の16進数カラー値を入力します。
- ラベルの作成]をクリックしてラベルを作成します。
イシューやマージリクエストの右サイドバーのラベルセクションで、新しいプロジェクトラベルを作成することもできます:
- 編集をクリックします。
- プロジェクトラベルの作成」をクリックします。
- この方法でラベルを作成する場合、説明を指定することはできません。 後でラベルを編集して説明を追加することができます(下記参照)。
- (オプション) 利用可能な色をクリックして色を選択するか、特定の色の16進数カラー値を入力します。
- 作成をクリックします。
一度作成したラベルは、鉛筆({pencil})をクリックして編集したり、購読ボタンの横にある3つの点({ellipsis_v})をクリックして削除を選択することで削除することができます。
プロジェクトラベルをグループラベルに昇格
以前にプロジェクトラベルを作成し、同じグループ内の他のプロジェクトでも利用できるようにしたい場合は、グループラベルに昇格させることができます。
同じグループ内の他のプロジェクトが同じタイトルのラベルを持っている場合、それらはすべて新しいグループラベルにマージされます。 同じタイトルのグループラベルが存在する場合、それもマージされます。
旧ラベルのすべてのイシュー、マージリクエスト、掲示板リスト、掲示板フィルター、ラベル購読は、新しいグループラベルに割り当てられます。
警告:注意:ラベルの昇格させることは永久的なアクションであり、元に戻すことはできません。
プロジェクトラベルをグループラベルに昇格させます:
- プロジェクトの[イシュー]→[ラベル]に移動します。
- Subscribe」ボタンの横にある3つの点({ellipsis_v})をクリックし、「Promote togrouplabel」を選択します。
グループラベル
グループ・ラベル・リストを表示するには、グループに移動して[課題]→[ラベル]をクリックします。 リストにはグループ・レベルで定義されたラベルのみがすべて含まれます。 プロジェクトで定義されたラベルはリストされません。 上部に検索クエリを入力して検索({search})をクリックすると、リストをフィルタリングできます。
グループ・ラベルを作成するには、グループの[イシュー]→[ラベル]に移動し、プロジェクト・ラベルの作成と同じ手順に従ってください。
エピックからグループラベルを作成
エピック・サイドバーからグループ・ラベルを作成することができます。 作成したラベルは、エピックが所属する直近のグループに属します。 手順は、イシューやマージリクエストからプロジェクト・ラベルを作成するのと同じです。
デフォルトラベルの生成
プロジェクトやグループにラベルがない場合、ラベルリストページからプロジェクトやグループのデフォルトラベルを生成することができます。 このページでは、リストが空の場合、Generate a default set of labelsボタンが表示され、クリックすると以下のデフォルトラベルがプロジェクトに追加されます:
bug
confirmed
critical
discussion
documentation
enhancement
suggestion
support
スコープ付きラベル
GitLab Premium11.10で導入されました。
スコープ付きラベルを使用すると、チームはラベル機能を使用して、相互に排他的なラベルでイシュー、マージリクエスト、エピックに注釈を付けることができます。 これにより、特定のラベルが一緒に使用されないようにすることで、より複雑なワークフローが可能になります。
ラベルのタイトルに特別なダブルコロン (::
) 構文を使用する場合など、ラベルはスコープされます:
イシュー、マージリクエスト、またはエピックは、key::value
という形式の、同じスコープ・ラベルを2つ持つことはできませんkey
。 同じ key
、しかし異なるvalue
をkey
持つ新しいラベルを key
追加すると、以前のkey
ラベルは新しいラベルに置き換えられます。
使用例
- イシューは優先度が低いと判断され、
priority::low
プロジェクトラベルが追加されます。 - レビュアーがさらにレビューした後、イシューの優先順位が上がり、
priority::high
のラベルが追加されます。 - GitLabは
priority::low
のラベルを自動的に削除します。イシューは同時に2つの優先度ラベルを持つべきではありません。
スコープ付きラベルを使用したワークフロー
各イシューが1つのプラットフォームのみを対象としている場合に、機能の対象となるオペレーティング・システム・プラットフォームを追跡するためのカスタム・フィールドをイシューに作成したいとします。その場合、platform::iOS
、platform::Android
、platform::Linux
の3つのラベルを作成します。与えられたイシューにこれらのラベルのいずれかを適用すると、platform::
で始まる既存のラベルは自動的に削除されます。
同じパターンを、チームのワークフロー状態の表現にも適用できます。例えば、workflow::development
、workflow::review
、workflow::deployed
というラベルがあるとします。あるイシューに既にworkflow::development
というラベルが適用されていて、開発者がそのイシューをworkflow::review
に進めたい場合、そのラベルを適用するだけで、workflow::development
のラベルは自動的に削除されます。この動作は、イシュー・ボード内のラベル・リスト間でイシューを移動する際に既に存在しますが、イシュー・ボードで直接作業していないチーム・メンバーも、イシュー自体で一貫してワークフロー状態を進めることができるようになります。
この機能は、カスタムフィールドとワークフローのスコープラベルの使用に関するビデオで実演されています。
ネストされたスコープを持つスコープ付きラベル
ラベルの作成時に複数のダブルコロンを使用することで、スコープを入れ子にしたラベルを作成することができます::
。 この場合、最後のコロンより前がすべて ::
スコープになります。
例えば、workflow::backend::review
とworkflow::backend::development
は有効なスコープを持つラベルですが、どちらも同じスコープであるworkflow::backend
を共有しているため、同じイシュー上に同時に存在することはできません。
さらに、workflow::backend::review
とworkflow::frontend::review
は有効なスコープを持つラベルであり、workflow::frontend
とworkflow::backend
という異なるスコープを持つため、同じイシュー上に同時に存在することができます。
ラベルの購読
プロジェクトラベルリストページとグループラベルリストページで、ラベルの右側にある[購読]をクリックすると、そのラベルの通知を有効にすることができます。 そのラベルがエピック、イシュー、マージリクエストに割り当てられるたびに通知が届きます。
プロジェクト内からグループラベルを購読する場合、プロジェクトのみ、またはグループ全体のラベル通知を購読するように選択できます。
ラベルの優先順位
- GitLab 8.9 で導入されました。
- 優先順位の並べ替えは、最も優先順位の高いラベルのみに基づいています。このディスカッションでは、これを変更することを検討します。
ラベルは相対的な優先順位を持つことができ、この優先順位はエピック、イシュー、マージリクエスト一覧ページのラベル優先順位と優先順位のソート順で使用されます。 グループラベルとプロジェクトラベルの優先順位付けはプロジェクトレベルで行われ、グループラベルリストから行うことはできません。
プロジェクトラベルリストのページから、優先順位を示すラベルに星印を付けます。
星印ラベルをリストの上下にドラッグして優先順位を変更できます。
エピック、マージリクエスト、イシューリストのページ(グループとプロジェクトの両方)では、Label priority
またはPriority
でソートできます。
Label priority
でソートした場合、GitLabはこのソート比較順を使用します:
- 優先順位の高いラベルが貼られているもの
- 優先ラベルのない項目
優先順位の最も高いラベルのみがチェックされ、優先順位の低いラベルは無視されることに注意してください。 詳細はこの関連イシューを参照してください。
Priority
でソートした場合、GitLabはこのソート比較順を使用します:
- マイルストーンには期限があり、最も早く割り当てられたマイルストーンが最初に表示されます。
- 期限のないマイルストーンがある項目。
- 優先順位の高いラベルが貼られているもの
- 優先ラベルのない項目
同点に追いつくのは任意。
トラブルシューティング
で終わるレーベルタイトルもあります。_duplicate<number>
特定の状況では、同じ名前空間に重複したタイトルのラベルを作成することが可能でした。
重複を解決するため、GitLab13.2以降では、重複するラベルのタイトルに_duplicate<number>
。
元の問題の詳細については、イシュー30390をご覧ください。