Insights
Insights
Introduced in 12.0.
配置对您的项目至关重要的见解,以探索数据,例如分类诊断,在给定期间内创建/关闭的问题,合并请求的平均合并时间等等.
注意:此功能 .
您可以通过点击左侧栏中的Analytics(分析)> Insights链接来访问项目的 Insights:
Configure your Insights
使用项目中名为.gitlab/insights.yml
的 YAML 文件配置.gitlab/insights.yml
. 该文件将在项目的”见解”页面中使用.
有关此文件内容的详细信息,请参见下面的编写.gitlab/insights.yml
.
注意:一旦创建了配置文件,您也可以 .注意:如果项目没有任何配置文件,则将尽可能尝试使用组配置. 如果该组没有任何配置,将使用默认配置.
如果您有权查看项目,则可以查看其见解.
注意:您无法访问的问题或合并请求(因为您无法访问它们所属的项目,或者因为它们是机密的)会从 Insights 图表中过滤掉.
您也可以查阅组权限表 .
Writing your .gitlab/insights.yml
.gitlab/insights.yml
文件定义了将在项目或组的每个 Insights 页面中显示的 Insights 图表的结构和顺序.
每个页面都有一个唯一的键以及一组要获取和显示的图表.
例如,这是 Insights 的单个定义,它将显示一个带有一个图表的页面:
每个图表定义均由键值对组成的哈希组成.
- title: "Monthly bugs created"
description: "Open bugs created per month"
type: bar
query:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
group_by: month
period_limit: 24
图表被定义为定义图表行为的参数列表.
下表列出了图表的可用参数:
Parameter details
以下是用于配置 Insights 图表的参数的详细说明.
title
是图表的标题,它将显示在 Insights 页面上. 例如:
monthlyBugsCreated:
title: "Monthly bugs created"
description
文字显示在图表上方,但标题下方. 它用于提供有关图表的更多详细信息,例如:
type
是图表类型.
例如:
monthlyBugsCreated:
title: "Monthly bugs created"
type: bar
Supported values are:
query
允许定义条件/合并请求成为图表的一部分.
Example:
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.issuable_type
定义要为其创建图表的”可发行”的类型.
支持的值为:
issue
:图表将显示问题的数据.merge_request
:图表将显示合并请求的数据.
query.issuable_state
按查询的”可发行”状态过滤.
默认情况下,将使用opened
状态过滤器.
支持的值为:
opened
:未解决问题/合并请求.closed
:已关闭未解决的问题/合并请求.locked
:已锁定讨论的问题/合并请求.merged
:合并的合并请求.all
:在所有状态下发出/合并请求
query.filter_labels
按应用于查询的”可发行”的标签过滤.
Example:
query.collection_labels
通过配置的标签将”可发行”分组.
默认情况下,不会进行分组. 使用此关键字时,需要将type
设置为line
或stacked-bar
.
Example:
title: "Weekly bugs by severity"
type: stacked-bar
query:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
collection_labels:
- S1
- S2
- S3
- S4
定义图表的 X 轴.
支持的值为:
day
:day
组数据.week
:week
组数据.month
:month
组数据.
query.period_limit
定义过去查询”可耗材”的距离.
该单位与您定义的query.group_by
有关. 例如,如果您定义了query.group_by: 'day'
则query.period_limit: 365
意思是”收集并显示最近 365 天的数据”.
默认情况下,将根据您定义的query.group_by
应用默认值.
query.period_field
定义用于将”可耗材”分组的时间戳字段.
支持的值为:
created_at
(默认):使用created_at
字段对数据进行分组.closed_at
:使用closed_at
字段对数据进行closed_at
(仅针对问题).merged_at
:使用merged_at
字段对数据进行merged_at
(仅适用于合并请求).
period_field
自动设置为:
closed_at
ifquery.issuable_state
isclosed
merged_at
ifquery.issuable_state
ismerged
created_at
otherwise
注意:在解决此错误之前,您可能会看到created_at
代替merged_at
. 将使用created_at
代替.
in GitLab Ultimate 12.4.
您可以限制从以下位置查询”可耗材”的位置:
- 如果
.gitlab/insights.yml
用于一 ,有projects
,你可以限制要查询的项目. 默认情况下,将使用该组下的所有项目. - 如果将
.gitlab/insights.yml
用于项目的见解,则指定任何其他项目均不会产生任何结果. 默认情况下,将使用项目本身.
projects.only
projects.only
选项指定应从中查询”可发行物品”的项目.
- 它们不存在.
- 当前用户没有足够的权限来读取它们.
- 他们不在小组中.
在以下insights.yml
示例中,我们指定将在其中使用查询的项目. 设置小组的见解时,此示例非常有用:
monthlyBugsCreated:
title: "Monthly bugs created"
description: "Open bugs created per month"
type: bar
query:
issuable_type: issue
issuable_state: opened
filter_labels:
- bug
projects:
only:
- 3 # You can use the project ID
- groupA/projectA # Or full project path
- groupB/project # Projects outside the group will be ignored