インサイト
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
インサイトは、月ごとのバグ作成数など、アイテム数を表示するインタラクティブな棒チャートです。
インサイトを設定し、プロジェクトとグループのカスタムレポートを作成して、次のようなデータを調査します:
- 指定された期間中に作成およびクローズされたイシュー。
- マージリクエストがマージされるまでの平均時間。
- トリアージの健全性。
インサイトの表示
前提要件:
- プロジェクトのインサイトの場合、プロジェクトへのアクセス権と、そのマージリクエストとイシューに関する情報を表示する権限が必要です。
- グループのインサイトの場合、グループを表示する権限が必要です。
プロジェクトまたはグループのインサイトを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトまたはグループを見つけます。
- 左側のサイドバーで、分析 > インサイトを選択します。
- レポートを表示するには、レポートを選択ドロップダウンリストから、表示するレポートを選択します。注釈を表示するには、チャートの各バーにカーソルを合わせる。
- オプション。結果をフィルタリングします:
- 90日間の範囲のサブセットからのデータのみを表示するには、一時停止アイコン( )を選択し、水平軸に沿ってスライドさせます。
- チャートからディメンションを除外するには、チャートの下の凡例から、ディメンションの名前を選択します。
チャートをドリルダウンする
query.data_sourceがissuablesであるすべてのチャートのデータをドリルダウンできます。
特定の優先度または重大度のデータのドリルダウンレポートを月単位で表示するには:
- チャートで、ドリルダウンするバースタックを選択します。
レポートディープリンクを作成する
ディープリンクされた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 | チャートの種類:bar、lineまたは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 | ![]() |
bar (group_byを使用した時系列) | ![]() |
line | ![]() |
stacked-bar | ![]() |
doraデータソースは、barおよびline チャートの種類をサポートしています。
例:
monthlyBugsCreated:
title: "Monthly bugs created"
type: barquery
チャートのデータソースとフィルタリング条件を定義するには、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: 104data_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: 104query.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
- regressionquery.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
- S4query.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 | デフォルト値 |
|---|---|
day | 30 |
week | 4 |
month | 12 |
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_stateがclosedの場合に設定されます。merged_atは、query.issuable_stateがmergedの場合に設定されます。- それ以外の場合は
created_at
このバグが解決されるまで、created_atがmerged_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: 30query.metric
クエリするDORAメトリクスを定義するには、query.metricを使用します。
Supported values(サポートされている値):
deployment_frequency(デフォルト)lead_time_for_changestime_to_restore_servicechange_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(デフォルト)stagingtestingdevelopmentother
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から:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- ファイルリストの上で、コミットするブランチを選択し、プラスアイコンを選択して、新しいファイルを選択します。
- ファイル名に、
.gitlab/insights.ymlを入力します。 - エディタで、設定を入力します。設定例を参照してください。
- 変更をコミットするを選択します。
グループの場合
前提要件:
- グループ内のプロジェクトには、
.gitlab/insights.ymlファイルが必要です。
グループインサイトを設定するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > 分析を選択します。
- インサイトセクションで、
.gitlab/insights.yml設定ファイルを含むプロジェクトを選択します。 - 変更を保存を選択します。



