ラベルプロジェクト管理ガイドライン
背景
ラベルは、Epic、Issue、マージリクエストを分類するための強力で柔軟な方法です。
適切かつ一貫して適用されると、ラベルは GitLab ユーザーが Issue、プロジェクト、または Epic を発見、フィルタ、管理、レポートできるようにします。
知っておくべき重要事項
ラベル階層
GitLab には 2 種類のラベルがあります:
- プロジェクトラベルは、そのプロジェクト内の Issue とマージリクエストにのみ割り当てることができます。
- グループラベルは、選択したグループまたはそのサブグループ内の任意のプロジェクトの Epic、Issue、マージリクエストに割り当てることができます。
(詳細を見る(グループとプロジェクトについて))
ラベルの排他性
デフォルトで、ラベルは排他的ではありません。Epic、Issue、またはマージリクエストには複数の人が複数のラベルを付けることができ、多くの異なるユースケースとビューをサポートします。このルールの例外はスコープラベルで、相互排他的なラベルのセットを指定します。1 つのスコープラベルが適用されると、そのセット内の以前のラベルを自動的に置き換えます。スコープラベルは、ステータスの割り当て、ワークフローのサポート、または項目を「いずれか/または」の状況にセグメント化するために使用されます。

既知の制限
ガイドライン
ラベルは可能な限り低いレベルで作成する
グループレベルのラベルはその下のすべてのサブグループとプロジェクトにカスケードされるため、グループレベルでの無制限なラベル作成は混乱と乱雑さを引き起こす可能性があります。例えば、複数のチームがグループレベルで「高優先度」ラベルを作成した場合、それらすべてがグループ内のすべてのプロジェクトのラベルメニューに表示されることになります。
グループレベルのラベルは、複数のプロジェクトおよび/またはサブグループにわたるグループレベルでのトラッキングにのみ使用するべきです。適切なグループレベルラベルの例には以下があります:
- エグゼクティブインタレストラベル(例: CMO, CEO, 等)。これは Epic または Issue がエグゼクティブの関心事項であることを示し、関連する Issue や Epic のレポートと可視性を可能にします。
- エグゼクティブ優先度(CMO-priority::1, CMO-priority::2, 等)。これらのラベルは、組織が Issue の優先度を理解するのに役立ちます - 主に CMO スタッフが CMO に代わって優先度を伝えるために使用されます。
- エグゼクティブテーマ(CMO::Agility, CMO::Efficiency, CMO::Commit, 等)。この小さなスコープラベルのリストは、トップレベルのイニシアチブと焦点エリアに基づいて、特定の CMO の関心テーマをフラグするのに役立ちます
- 「チーム」ラベル。(Product and Solution Marketing, Corporate Marketing, 等)これにより、より大きなマーケティング組織内での高レベルの作業追跡が可能になります。
グループレベルラベルとプロジェクトレベルラベルのどちらを作成するべきか分からない場合は、慎重を期してプロジェクトレベルラベルを作成してください。 将来的にいつでもグループレベルラベルに昇格できます。
ラベル名の文字数を制限する
ラベル名を作成するときは、可能な限り少ない文字数を使用してください。25 文字を超えるラベルは、GitLab UI で切り詰められる可能性があります。
詳細な説明を提供する
ラベルを作成するときは、説明フィールドに以下の情報が含まれていることを確認してください:
- ラベルが適用されるべきとき
- 目的またはゴール
- DRI
この情報は UI 全体でラベルの上のツールチップに表示されます。
命名規則で似たラベルをグループ化する
関連するラベルのコレクションを作成している場合は、名前の共通プレフィックスを使ってそれらをグループ化してください。例えば、地域を記述するために「West」と「East」を作成している場合は、代わりに「Sales_Region_West」と「Sales_Region_East」のようなラベルを検討してください。これにより、観察者に即座のコンテキストを提供すると同時に、UI 内でラベルを一緒にグループ化することもできます。
ラベル作成をテンプレート化する
ラベルは、一貫して適用されたときにのみ正しく機能します。可能な限り、適切なラベルの作成を自動化するため、それらをIssue テンプレートに追加してください。

スコープラベルを適用して混乱を取り除く
乱雑さを最小化し、誤った二重カウントの可能性を減らすために、ユーザーが新しいラベルを割り当てる際に無効なラベルを削除することに依存するのではなく、ラベル管理を自動化するスコープラベルの作成を常に検討してください。

ラベル衛生を自動化する
Triage Bot は、プロジェクトがプロセスにより一貫して従うようにするため、多くの Issue とマージリクエストの衛生タスクを自動化することを可能にするオープンソースプロジェクトです。Triage Bot スクリプトを使用して、人為的エラーの影響を最小化し、適切なラベリングとワークフローを自動化してください。Triage Bot の一般的な使用例には、不足または不適切に適用されたラベルの特定、Issue またはマージリクエストの所有者へのラベル関連の問題の通知、事前定義された基準に基づいたラベルの適用が含まれます。
詳細については、@johnjeremiah の YouTube チュートリアルを参照してください。
削除せず、非推奨にする
ラベルを削除すると、そのラベルと Issue またはマージリクエストとの以前のすべての関連付けが削除され、依存関係が壊れる可能性があります。すべてのラベル削除は、ラベルの DRI(上述のとおりラベルの説明にリストされているはず)によって実行されるべきです。
あなたが DRI でラベルを削除したい場合は、以下のステップに従ってください:
- ラベルに ‘DEPRECATE_’ タグを付加します(例: ‘pMm’ は ‘DEPRECATE_pMm’ になる)。
- グループ内で変更を周知してください。
- ラベルを削除する前に 1 暦月待ってください。
