- プロジェクトのインサイトを見る
- プロジェクトインサイトの設定
- インサイト設定ファイル
- インサイト設定パラメータ
- 完全なインサイトの設定例
プロジェクトのインサイト
プロジェクトのインサイトを設定して、次のようなデータを調査します:
- 指定された期間に作成およびクローズされたイシュー。
- マージリクエストがマージされるまでの平均時間。
- トリアージ衛生。
グループ向けのインサイトもあります。
プロジェクトのインサイトを見る
前提条件:
- 必須
- マージリクエストやイシューに関する情報を表示するためのプロジェクトへのアクセス権。
- プロジェクト内の機密のマージリクエストやイシューを閲覧する権限。
 
プロジェクトインサイトの閲覧:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 分析 > インサイトを選択します。
- レポートを表示するには、[レポートを選択]ドロップダウンリストを選択します。
ディープリンクでインサイトレポートにアクセス
ディープリンク URL を使用して、インサイトの特定のレポートにユーザーを誘導できます。
ディープリンクを作成するには、インサイトのレポート URL の末尾にレポートキーを追加します。例えば、bugsCharts というキーの GitLab レポートには、ディープリンク URLhttps://gitlab.com/gitlab-org/gitlab/insights/#/bugsCharts があります。
プロジェクトインサイトの設定
前提条件:
- プロジェクトの設定によっては、少なくとも開発者ロールを持っている必要があります。
プロジェクトのインサイトは、プロジェクト内の.gitlab/insights.yml ファイルで設定されます。プロジェクトに設定ファイルがない場合は、グループ設定を使用します。
.gitlab/insights.yml ファイルは定義する YAML ファイルです:
- レポート内のチャートの構造と順序。
- プロジェクトやグループのレポートに表示されるチャートのスタイル。
プロジェクトのインサイトを設定するには、以下のいずれかを実行します:
- プロジェクトのルートディレクトリに.gitlab/insights.ymlファイルを作成し、変更をプッシュします。
- UIに.gitlab/insights.yml:- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- ファイルリストの上で、コミットしたいブランチを選択し、プラスアイコンを選択し、新規ファイルを選択します。
- 
ファイル名テキストボックスに.gitlab/insights.ymlと入力します。
- 大きなテキストボックスに、ファイルの内容を更新します。
- 変更をコミット を選択します。
 
設定ファイルを作成したら、プロジェクトのグループにも使用できます。
インサイト設定ファイル
.gitlab/insights.yml :
- 設定パラメータはChartの動作を定義します。
- 各レポートには、一意のキーと、フェッチして表示するChartのコレクションがあります。
- 各チャート定義は、キーと値のペアで構成されるハッシュでできています。
以下の例は、1つのレポートを1つのChartで表示する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
インサイト設定パラメータ
次の表は、Chart パラメーターの一覧です:
| キーワード | 説明 | 
|---|---|
| title | Chartのタイトル。インサイトページに表示されます。 | 
| description | 個々のチャートの説明。チャートの上に表示されます。 | 
| type | チャートの種類: barlineまたはstacked-bar。 | 
| query | チャートのデータソースとフィルタリング条件を定義するハッシュ。 | 
title
title を使用して、Chart のタイトルを更新します。タイトルはインサイト・レポートに表示されます。
例
monthlyBugsCreated:
  title: "Monthly bugs created"
description
description を使用して、Chart の説明を追加します。説明は、Chartの上、タイトルの下に表示されます。
例
monthlyBugsCreated:
  title: "Monthly bugs created"
  description: "Open bugs created per month"
type
type 、チャートの種類を定義します。
サポートされている値
| 名前 | 使用例: | 
|---|---|
| bar |  | 
| bar(時系列、group_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
GitLab 15.3 で導入されました。
data_source を使って、データを公開するデータソースを定義します。
サポートされている値
- 
issuables:マージ・リクエストまたはイシュー・データを公開します。
- 
dora:DORAメトリクスを公開します。
issuable クエリパラメータ
query.params.issuable_type
query.params.issuable_type を使用して、チャートを作成する発行可能銘柄のタイプを定義します。
サポートされている値
- 
issue:チャートはイシューのデータを表示します。
- 
merge_request:チャートはマージリクエストのデータを表示します。
query.params.issuable_state
query.params.issuable_state を使って、クエリされた発行可能物の現在の状態でフィルタリングできます。
デフォルトでは、opened 状態フィルタが適用されます。
サポートされている値
- 
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 を使用して、設定されたラベルで発行可能ファイルをグループ化します。グループ化はデフォルトでは適用されません。
このパラメータを使用する場合は、type をline またはstacked-bar に設定する必要があります。
例
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
query.group_by を使用して、Chart の X 軸を定義します。
サポートされている値
- 
day:1日あたりのグループデータ。
- 
week:週ごとのグループデータ。
- 
month:月ごとのグループデータ。
query.period_limit
query.period_limit を使用して、issueables のクエリ(query.period_field を使用)を実行する期間を定義します。
単位はquery.group_by で定義した値に関連します。例えば、query.group_by: 'day' とquery.period_limit: 365 を定義した場合、Chart は過去 365 日分のデータを表示します。
デフォルトでは、定義したquery.group_by に応じてデフォルト値が適用されます。
| query.group_by | デフォルト値 | 
|---|---|
| day | 30 | 
| week | 4 | 
| month | 12 | 
query.period_field
query.period_field を使って、発行可能ファイルをグループ化するタイムスタンプフィールドを定義します。
サポートされている値
- 
created_at(デフォルト):created_atフィールドをcreated_at使用してデータをグループcreated_at化します。
- 
closed_at:closed_atフィールドをclosed_at使用してデータをグループ化closed_atします(イシューのみ)。
- 
merged_at:merged_atフィールドを使用したmerged_atグループデータmerged_at(マージリクエストのみ)。
period_field が自動的に設定されます:
- 
closed_atもしquery.issuable_stateがclosed
- 
merged_atもしquery.issuable_stateがmerged
- 
created_atそうでなければ
DORA クエリパラメータ
GitLab 15.3 で導入されました。
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
query.metric を使用して、クエリするDORA メトリクスを定義します。
サポートされている値
- 
deployment_frequency(デフォルト)
- lead_time_for_changes
- time_to_restore_service
- change_failure_rate
query.group_by
query.group_by を使用して、Chart の X 軸を定義します。
サポートされている値
- 
day(デフォルト):1日あたりのグループデータ。
- 
month:月ごとのグループデータ。
query.period_limit
query.period_limit を使用して、メトリクスの過去のクエリ期間を定義します(デフォルト:15)。最大期間は 180 日または 6 ヶ月です。
query.environment_tiers
query.environment_tiers を使用して、計算に含める環境の配列を定義します。
サポートされている値
- 
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
完全なインサイトの設定例
.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
