- プロジェクトのインサイトを見る
- プロジェクトインサイトの設定
- インサイト設定ファイル
- インサイト設定パラメータ
- 完全なインサイトの設定例
プロジェクトのインサイト
プロジェクトのインサイトを設定して、次のようなデータを調査します:
- 指定された期間に作成およびクローズされたイシュー。
- マージリクエストがマージされるまでの平均時間。
- トリアージ衛生。
グループ向けのインサイトもあります。
プロジェクトのインサイトを見る
前提条件:
- 必須
- マージリクエストやイシューに関する情報を表示するためのプロジェクトへのアクセス権。
- プロジェクト内の機密のマージリクエストやイシューを閲覧する権限。
プロジェクトインサイトの閲覧:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 分析 > インサイトを選択します。
- レポートを表示するには、[レポートを選択]ドロップダウンリストを選択します。
ディープリンクでインサイトレポートにアクセス
ディープリンク 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 | チャートの種類:bar line または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