バッジ
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
バッジは、プロジェクトに関する凝縮された情報を表示するための統一された方法です。バッジは、小さな画像と、その画像が指すURLで構成されます。GitLabでは、バッジはプロジェクトの概要ページで、プロジェクトの説明の下に表示されます。バッジは、プロジェクトレベルとグループレベルで使用できます。
利用可能なバッジ
GitLabは、次のパイプラインバッジを提供します:
GitLabはカスタムバッジもサポートしています。
パイプラインステータスバッジ
パイプライン状態バッジは、プロジェクト内の最新のパイプラインの状態を示します。パイプラインの状態に応じて、バッジは次のいずれかの値を持ちます:
pendingrunningpassedfailedskippedmanualcanceledunknown
次のリンクを使用して、パイプライン状態バッジ画像にアクセスできます:
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/pipeline.svgスキップされていない状態のみを表示
パイプラインステータスバッジに最後にスキップされなかった状態のみを表示するには、?ignore_skipped=trueクエリパラメータを使用します:
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/pipeline.svg?ignore_skipped=trueテストカバレッジレポートバッジ
テストカバレッジレポートバッジは、プロジェクトでTestされているコードの割合を示します。値は、最後に成功したパイプラインに基づいて計算されます。
次のリンクを使用して、テストカバレッジレポートバッジ画像にアクセスできます:
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg各ジョブログと照合されるコードカバレッジの正規表現を定義できます。これは、パイプライン内の各ジョブに、定義されたテストカバレッジの割合の値を持たせることができることを意味します。
特定のジョブからカバレッジレポートを取得するには、URLにjob=coverage_job_nameパラメータを追加します。たとえば、次のコードと同様のコードを使用して、coverageジョブのテストカバレッジレポートバッジをMarkdownファイルに追加できます:
テストカバレッジの制限とバッジの色
次の表に、デフォルトのテストカバレッジの制限とバッジの色を示します:
| テストカバレッジ | パーセンテージ制限 | バッジの色 |
|---|---|---|
| 良好 | 95~100% | ■ #4c1 |
| 許容可能 | 90~95% | ■ #a3c51c |
| 中程度 | 75~90% | ■ #dfb317 |
| 低 | 0~75% | ■ #e05d44 |
| 不明 | カバレッジなし | ■ #9f9f9f |
*~*は上限を含まない上限までを意味します。
デフォルトの制限を変更
カバレッジレポートバッジURLに次のクエリパラメータを渡すことで、デフォルトの制限を上書きできます:
| クエリパラメータ | 許容値 | デフォルト |
|---|---|---|
min_good | 3から100の間の任意の値 | 95 |
min_acceptable | 2からmin_good-1の間の任意の値 | 90 |
min_medium | 1からmin_acceptable-1の間の任意の値 | 75 |
次に例を示します:
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?min_good=98&min_acceptable=75無効な境界を設定すると、GitLabは自動的に有効になるように調整します。たとえば、min_goodを80に、min_acceptableを85に設定すると、最小許容値は最小良好値より高くならないため、GitLabはmin_acceptableを79(min_good - 1)に設定します。
最新リリースバッジ
最新リリースバッジは、プロジェクトの最新リリースタグ名を示します。リリースがない場合は、noneと表示されます。
次のリンクを使用して、最新リリースバッジ画像にアクセスできます:
https://gitlab.example.com/<namespace>/<project>/-/badges/release.svgデフォルトでは、バッジはreleased_at時間を使用してソートされたリリースを、?order_byクエリパラメータでフェッチします。
https://gitlab.example.com/<namespace>/<project>/-/badges/release.svg?order_by=release_atvalue_widthパラメータを使用して、リリース名フィールドの幅を変更できます(GitLab 15.10で導入)。値は1~200の間でなければならず、デフォルト値は54です。範囲外の値を設定すると、GitLabは自動的にデフォルト値に調整します。
プロジェクトバッジ
バッジはメンテナーまたはオーナーがプロジェクトに追加でき、プロジェクトの概要ページに表示されます。同じバッジを複数のプロジェクトに追加する必要がある場合は、グループレベルで追加することをお勧めします。
プロジェクトバッジの例: パイプラインステータス
一般的なプロジェクトバッジは、GitLab CIパイプラインの状態を示します。
このバッジをプロジェクトに追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
- 名前に、_パイプライン状態_と入力します。
- リンクに、次のURLを入力します:
https://gitlab.com/%{project_path}/-/commits/%{default_branch} - バッジ画像のURLに、次のURLを入力します:
https://gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg - バッジを追加を選択します。
グループバッジ
バッジはオーナーがグループに追加でき、グループに属するすべてのプロジェクトの概要ページに表示されます。バッジをグループに追加することにより、グループ内のすべてのプロジェクトに対してプロジェクトレベルのバッジを追加および適用します。
これらのバッジはコードベースでプロジェクトレベルのバッジとして表示されますが、プロジェクトレベルで編集または削除することはできません。
各プロジェクトに個別のバッジが必要な場合は、次のいずれかの操作を行います:
バッジの表示
プロジェクトまたはグループで利用可能なバッジを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
バッジの追加
プロジェクトまたはグループに新しいバッジを追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
- バッジを追加を選択します。
- 名前テキストボックスに、バッジの名前を入力します。
- リンクテキストボックスに、バッジが指すURLを入力します。
- バッジ画像のURLテキストボックスに、バッジに表示する画像のURLを入力します。
- バッジを追加を選択します。
パイプラインバッジのURLを表示
バッジの正確なリンクを表示できます。次に、リンクを使用して、バッジをHTMLまたはMarkdownページに埋め込むことができます。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > CI/CDを選択します。
- 一般パイプラインを展開します。
- Pipeline status(パイプライン状態)、Coverage report(カバレッジレポート)、またはLatest release(最新リリース)セクションで、画像のURLを表示します。
パイプライン状態バッジは、特定のGitリビジョン(ブランチ)に基づいています。正しいパイプライン状態を表示するには、適切なブランチを選択してください。
バッジのカスタマイズ
バッジの次の側面をカスタマイズできます:
- スタイル
- テキスト
- 幅
- 画像
バッジのスタイルのカスタマイズ
URLにstyle=style_nameパラメータを追加すると、パイプラインバッジを異なるスタイルでレンダリングできます。2つのスタイルが利用可能です:
フラット(デフォルト):
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?style=flatフラットスクエア:
https://gitlab.example.com/<namespace>/<project>/badges/<branch>/coverage.svg?style=flat-square
バッジテキストのカスタマイズ
バッジのテキストをカスタマイズして、同じパイプラインで実行される複数のカバレッジジョブを区別できます。key_text=custom_textおよびkey_width=custom_key_widthパラメータをURLに追加して、バッジのテキストと幅をカスタマイズします:
https://gitlab.com/gitlab-org/gitlab/badges/main/coverage.svg?job=karma&key_text=Frontend+Coverage&key_width=130バッジ画像のカスタマイズ
デフォルト以外のバッジを使用する場合は、プロジェクトまたはグループでカスタムバッジ画像を使用します。
前提要件:
- バッジに必要な画像に直接ポイントする有効なURL。画像がGitLabリポジトリにある場合は、画像へのrawリンクを使用します。
プレースホルダーを使用して、リポジトリのルートにあるraw画像を参照するバッジ画像URLの例を次に示します:
https://gitlab.example.com/<project_path>/-/raw/<default_branch>/my-image.svgカスタムイメージを使用して新しいバッジをグループまたはプロジェクトに追加するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
- 名前に、バッジの名前を入力します。
- リンクに、バッジが指すURLを入力します。
- バッジ画像のURLに、表示するカスタム画像に直接ポイントするURLを入力します。
- バッジを追加を選択します。
パイプラインを介して生成されたカスタムイメージの使用方法については、URLで最新のジョブアーティファクトにアクセスするに関するドキュメントを参照してください。
バッジの編集
プロジェクトまたはグループでバッジを編集するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
- 編集するバッジの横にある編集( )を選択します。
- 名前、リンク、またはバッジ画像のURLを編集します。
- 変更を保存を選択します。
バッジの削除
プロジェクトまたはグループでバッジを削除するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 設定 > 一般を選択します。
- バッジを展開します。
- 削除するバッジの横にある削除( )を選択します。
- 確認ダイアログで、バッジを削除しますを選択します。
グループに関連付けられたバッジは、グループレベルでのみ編集または削除できます。
プレースホルダー
バッジが指すURLとイメージURLの両方にプレースホルダーを含めることができ、バッジを表示するときに評価されます。次のプレースホルダーを使用できます:
%{project_path}: 親グループを含むプロジェクトのパス%{project_title}: プロジェクトのタイトル%{project_name}: プロジェクトの名前%{project_id}: プロジェクトに関連付けられたデータベースID%{project_namespace}: プロジェクトのプロジェクトネームスペース%{group_name}: プロジェクトのグループ%{gitlab_server}: プロジェクトのサーバー%{gitlab_pages_domain}: GitLab Pagesをホストするドメイン%{default_branch}: プロジェクトのリポジトリ用に設定されたデフォルトのブランチ名%{commit_sha}: プロジェクトのリポジトリのデフォルトブランチへの最新のコミットのID%{latest_tag}: プロジェクトのリポジトリに追加された最新のタグ
プレースホルダーを使用すると、プロジェクトがプライベートリポジトリを持つように設定されている場合に、バッジがデフォルトブランチやコミットSHAなどの通常は非公開の情報を公開できます。バッジは公開で使用されることを目的としているため、この動作は意図的です。情報が機密の場合は、これらのプレースホルダーの使用を避けてください。