正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

インサイト

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

インサイトは、月ごとのバグ作成数など、アイテム数を表示するインタラクティブな棒チャートです。

インサイトを設定し、プロジェクトとグループのカスタムレポートを作成して、次のようなデータを調査します:

  • 指定された期間中に作成およびクローズされたイシュー。
  • マージリクエストがマージされるまでの平均時間。
  • トリアージの健全性。

インサイトの表示

前提要件:

  • プロジェクトのインサイトの場合、プロジェクトへのアクセス権と、そのマージリクエストとイシューに関する情報を表示する権限が必要です。
  • グループのインサイトの場合、グループを表示する権限が必要です。

プロジェクトまたはグループのインサイトを表示するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
  2. 左側のサイドバーで、分析 > インサイトを選択します。
  3. レポートを表示するには、レポートを選択ドロップダウンリストから、表示するレポートを選択します。注釈を表示するには、チャートの各バーにカーソルを合わせる。
  4. オプション。結果をフィルタリングします:
    • 90日間の範囲のサブセットからのデータのみを表示するには、一時停止アイコン( status-paused )を選択し、水平軸に沿ってスライドさせます。
    • チャートからディメンションを除外するには、チャートの下の凡例から、ディメンションの名前を選択します。

チャートをドリルダウンする

query.data_sourceissuablesであるすべてのチャートのデータをドリルダウンできます。

特定の優先度または重大度のデータのドリルダウンレポートを月単位で表示するには:

  • チャートで、ドリルダウンするバースタックを選択します。

ディープリンクされたURLを使用して、インサイトの特定のレポートにユーザーを誘導できます。

ディープリンクを作成するには、インサイトレポートのURLの最後にレポートキーを追加します。たとえば、キーがbugsChartsのGitLabレポートのディープリンクURLはhttps://gitlab.com/gitlab-org/gitlab/insights/#/bugsChartsです。

設定

デフォルトファイル

GitLabは、デフォルトの設定ファイルからインサイトを読み取ります。

プロジェクトのインサイトは、プロジェクトの.gitlab/insights.ymlファイルで設定されます。プロジェクトに設定ファイルがない場合は、グループの設定を使用します。

.gitlab/insights.ymlファイルは、次を定義するYAMLファイルです:

  • レポート内のチャートの構造と順序。
  • プロジェクトまたはグループのレポートに表示されるチャートのスタイル。

.gitlab/insights.ymlファイル内:

  • 設定パラメータは、チャートの動作を定義します。
  • 各レポートには、一意のキーと、フェッチして表示するチャートのコレクションがあります。
  • 各チャート定義は、キー/バリューペアで構成されるハッシュで構成されています。

次の例は、1つのチャートでレポートを表示する単一の定義を示しています:

bugsCharts:
  title: "Charts for bugs"
  charts:
    - title: "Monthly bugs created"
      description: "Open bugs created per month"
      type: bar
      query:
        data_source: issuables
        params:
          issuable_type: issue
          issuable_state: opened
          filter_labels:
            - bug
          group_by: month
          period_limit: 24

次の例は、3つのチャートを表示する.gitlab/insights.ymlファイルの完全な設定を示しています:

.projectsOnly: &projectsOnly
  projects:
    only:
      - 3
      - groupA/projectA
      - groupA/subgroupB/projectC

bugsCharts:
  title: "Charts for bugs"
  charts:
    - title: "Monthly bugs created"
      description: "Open bugs created per month"
      type: bar
      <<: *projectsOnly
      query:
        data_source: issuables
        params:
          issuable_type: issue
          issuable_state: opened
          filter_labels:
            - bug
          group_by: month
          period_limit: 24

    - title: "Weekly bugs by severity"
      type: stacked-bar
      <<: *projectsOnly
      query:
        data_source: issuables
        params:
          issuable_type: issue
          issuable_state: opened
          filter_labels:
            - bug
          collection_labels:
            - S1
            - S2
            - S3
            - S4
          group_by: week
          period_limit: 104

    - title: "Monthly bugs by team"
      type: line
      <<: *projectsOnly
      query:
        data_source: issuables
        params:
          issuable_type: merge_request
          issuable_state: opened
          filter_labels:
            - bug
          collection_labels:
            - Manage
            - Plan
            - Create
          group_by: month
          period_limit: 24

パラメータ

次の表に、チャートのパラメータを示します:

キーワード説明
titleこのチャートのタイトル。これはインサイトページに表示されます。
description個々のチャートの説明。これは、関連するチャートの上に表示されます。
typeチャートの種類:barlineまたはstacked-bar
queryチャートのデータソースとフィルタリング条件を定義するハッシュ。

title

チャートのタイトルを更新するには、titleを使用します。タイトルは、インサイトレポートに表示されます。

:

monthlyBugsCreated:
  title: "Monthly bugs created"

description

チャートの説明を追加するには、descriptionを使用します。説明はチャートの上に、タイトルの下に表示されます。

:

monthlyBugsCreated:
  title: "Monthly bugs created"
  description: "Open bugs created per month"

type

チャートの種類を定義するには、typeを使用します。

Supported values(サポートされている値):

名前例:
barインサイトの棒チャートの例
bargroup_byを使用した時系列)インサイトの棒時系列チャートの例
lineインサイトの積み上げ棒チャートの例
stacked-barインサイトの積み上げ棒チャートの例

doraデータソースは、barおよびline チャートの種類をサポートしています。

:

monthlyBugsCreated:
  title: "Monthly bugs created"
  type: bar

query

チャートのデータソースとフィルタリング条件を定義するには、queryを使用します。

:

monthlyBugsCreated:
  title: "Monthly bugs created"
  description: "Open bugs created per month"
  type: bar
  query:
    data_source: issuables
    params:
      issuable_type: issue
      issuable_state: opened
      filter_labels:
        - bug
      collection_labels:
        - S1
        - S2
        - S3
        - S4
      group_by: week
      period_limit: 104

data_sourceパラメータのない従来の形式は、引き続きサポートされています:

monthlyBugsCreated:
  title: "Monthly bugs created"
  description: "Open bugs created per month"
  type: bar
  query:
    issuable_type: issue
    issuable_state: opened
    filter_labels:
      - bug
    collection_labels:
      - S1
      - S2
      - S3
      - S4
    group_by: week
    period_limit: 104
query.data_source

データを公開するデータソースを定義するには、data_sourceを使用します。

Supported values(サポートされている値):

  • issuables: マージリクエストまたはイシューデータを公開します。
  • dora: DORAメトリクスを公開します。
issuableクエリパラメータ
query.params.issuable_type

チャートを作成するイシュアブルの種類を定義するには、query.params.issuable_typeを使用します。

Supported values(サポートされている値):

  • issue: チャートには、イシューのデータが表示されます。
  • merge_request: チャートには、マージリクエストのデータが表示されます。
query.params.issuable_state

クエリされたイシュアブルの現在の状態でフィルタリングするには、query.params.issuable_stateを使用します。

デフォルトでは、opened状態フィルターが適用されます。

Supported values(サポートされている値):

  • opened: 開いているイシューまたはマージリクエスト。
  • closed: クローズされたイシューまたはマージリクエスト。
  • locked: ディスカッションがロックされているイシューまたはマージリクエスト。
  • merged: マージリクエストをマージしました。
  • all: すべての状態のイシューまたはマージリクエスト。
query.params.filter_labels

クエリされたイシュアブルに適用されたラベルでフィルタリングするには、query.params.filter_labelsを使用します。

デフォルトでは、ラベルフィルターは適用されません。選択するには、定義されているすべてのラベルをイシュアブルに適用する必要があります。

:

monthlyBugsCreated:
  title: "Monthly regressions created"
  type: bar
  query:
    data_source: issuables
    params:
      issuable_type: issue
      issuable_state: opened
      filter_labels:
        - bug
        - regression
query.params.collection_labels

構成されたラベルでイシュアブルをグループ化するには、query.params.collection_labelsを使用します。グループ化はデフォルトでは適用されません。

:

weeklyBugsBySeverity:
  title: "Weekly bugs by severity"
  type: stacked-bar
  query:
    data_source: issuables
    params:
      issuable_type: issue
      issuable_state: opened
      filter_labels:
        - bug
      collection_labels:
        - S1
        - S2
        - S3
        - S4
query.group_by

チャートのX軸を定義するには、query.group_byを使用します。

Supported values(サポートされている値):

  • day: 1日あたりのデータをグループ化します。
  • week: 1週間あたりのデータをグループ化します。
  • month: 1か月あたりのデータをグループ化します。
query.period_limit

イシュアブルをクエリするために、過去にさかのぼってどれだけ遡るかを定義するには、query.period_limitを使用します(query.period_fieldを使用)。

ユニットは、query.group_byで定義された値に関連しています。たとえば、query.group_by: 'day'query.period_limit: 365を定義した場合、チャートには過去365日間のデータが表示されます。

デフォルトでは、定義したquery.group_byに応じて、デフォルト値が適用されます。

query.group_byデフォルト値
day30
week4
month12
query.period_field

イシュアブルをグループ化するタイムスタンプフィールドを定義するには、query.period_fieldを使用します。

Supported values(サポートされている値):

  • created_at(デフォルト): created_atフィールドを使用してデータをグループ化します。
  • closed_at: closed_atフィールドを使用してデータをグループ化します(イシューのみ)。
  • merged_at: merged_atフィールドを使用してデータをグループ化します(マージリクエストのみ)。

period_fieldは自動的に次のように設定されます:

  • closed_atは、query.issuable_stateclosedの場合に設定されます。
  • merged_atは、query.issuable_statemergedの場合に設定されます。
  • それ以外の場合はcreated_at

このバグが解決されるまで、created_atmerged_atの代わりに表示される場合があります。created_atが代わりに使用されます。

DORAクエリパラメータ

DORAチャート定義を作成するには、doraデータソースでDORA固有のクエリを使用します。

:

dora:
  title: "DORA charts"
  charts:
    - title: "DORA deployment frequency"
      type: bar # or line
      query:
        data_source: dora
        params:
          metric: deployment_frequency
          group_by: day
          period_limit: 10
      projects:
        only:
          - 38
    - title: "DORA lead time for changes"
      description: "DORA lead time for changes"
      type: bar
      query:
        data_source: dora
        params:
          metric: lead_time_for_changes
          group_by: day
          environment_tiers:
            - staging
          period_limit: 30
query.metric

クエリするDORAメトリクスを定義するには、query.metricを使用します。

Supported values(サポートされている値):

  • deployment_frequency(デフォルト)
  • lead_time_for_changes
  • time_to_restore_service
  • change_failure_rate
query.group_by

チャートのX軸を定義するには、query.group_byを使用します。

Supported values(サポートされている値):

  • day(デフォルト): 1日あたりのデータをグループ化します。
  • month: 1か月あたりのデータをグループ化します。
query.period_limit

メトリクスを過去に遡ってどれだけクエリするかを定義するには、query.period_limitを使用します(デフォルト: 15最長期間は180日または6か月です。

query.environment_tiers

計算に含める環境の配列を定義するには、query.environment_tiersを使用します。

Supported values(サポートされている値):

  • production(デフォルト)
  • staging
  • testing
  • development
  • other

projects

イシュアブルのクエリ元を制限するには、projectsを使用します:

  • .gitlab/insights.ymlがグループのインサイトに使用されている場合は、イシュアブルのクエリ元のプロジェクトを定義するためにprojectsを使用します。デフォルトでは、グループのすべてのプロジェクトが使用されます。
  • .gitlab/insights.ymlがプロジェクトのインサイトに使用されている場合、他のプロジェクトを指定しても結果は得られません。デフォルトでは、プロジェクトが使用されます。
projects.only

イシュアブルのクエリ元のプロジェクトを指定するには、projects.onlyを使用します。

このパラメータにリストされているプロジェクトは、次の場合に無視されます:

  • 存在しない。
  • 現在のユーザーには、それらを読み取りるための十分な権限がありません。
  • グループの外部にある。

:

monthlyBugsCreated:
  title: "Monthly bugs created"
  description: "Open bugs created per month"
  type: bar
  query:
    data_source: issuables
    params:
      issuable_type: issue
      issuable_state: opened
      filter_labels:
        - bug
  projects:
    only:
      - 3                         # You can use the project ID
      - groupA/projectA           # Or full project path
      - groupA/subgroupB/projectC # Projects in subgroups can be included
      - groupB/project            # Projects outside the group will be ignored

インサイトを設定する

プロジェクトとグループのインサイトを設定できます。プロジェクトで.gitlab/insights.ymlファイルを作成した後、プロジェクトのグループにも使用できます。

カスタム.gitlab/insights.ymlファイルは、デフォルトの設定をオーバーライドします。元の設定を保持するには、デフォルトの設定ファイルの内容をベースとしてコピーします。

プロジェクトの場合

前提要件:

  • プロジェクトのデベロッパーロール以上を持っている必要があります。

プロジェクトのインサイトを設定するには、ファイル.gitlab/insights.ymlを作成します:

  • ローカルで、プロジェクトのルートディレクトリに配置し、変更をプッシュします。
  • UIから:
    1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
    2. ファイルリストの上で、コミットするブランチを選択し、プラスアイコンを選択して、新しいファイルを選択します。
    3. ファイル名に、.gitlab/insights.ymlを入力します。
    4. エディタで、設定を入力します。設定例を参照してください。
    5. 変更をコミットするを選択します。

グループの場合

前提要件:

  • グループ内のプロジェクトには、.gitlab/insights.ymlファイルが必要です。

グループインサイトを設定するには:

  1. 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
  2. 設定 > 分析を選択します。
  3. インサイトセクションで、.gitlab/insights.yml設定ファイルを含むプロジェクトを選択します。
  4. 変更を保存を選択します。