- 查看洞察
- 和洞察图标交互
- 权限
- 配置项目洞察
- 配置群组洞察
- 洞察文件配置
- 洞察配置参数
- 完整的洞察配置示例
洞察
为您的群组和项目配置洞察来浏览数据,诸如:
- 在特定时期创建和关闭的议题。
- 合并请求被合并的平均时间。
- Triage 规范
您还可以创建与您的群组相关的自定义洞察报告。
查看洞察
先决条件:
- 对项目洞察,您必须对项目具有访问权限,并且具有查看有关其合并请求和议题信息的权限。
- 对群组洞察,您必须具有查看群组的权限。
要查看项目或群组的洞察:
- 在左侧导航栏,选择 搜索或前往 并找到您的项目和群组。
- 选择 分支 > 洞察。
- 要查看报告,选择 选择报告 下拉列表。
使用深度链接(deep link)访问洞察报告
您可以使用深度链接的 URL 来让用户直接访问指定的洞察报告。
要创建深度链接,在洞察报告 URL 后面附加上报告键值。比如,一个具有 bugsCharts
键的极狐GitLab 报告具有深度链接 URL https://gitlab.com/gitlab-org/gitlab/insights/#/bugsCharts
。
和洞察图标交互
您可以和洞察图标交互来查看群组活动的详情。
展示不同的报告
要在洞察页面上展示可用的报告,从 选择报告 下拉列表,选择您想展示的报告。
查看柱状图注释
要查看注释,在每个图标上悬停鼠标。
权限
如果您有权限查看项目,则您有权限查看项目的洞察。
在图表上放大
洞察会展示过去 90 天的数据。您可以放大以仅显示 90 天范围内某一子集的数据。
要这么做的话,选择暂停图标()并拖动它们沿水平轴:
- 要修改开始日期,将左侧的暂停图标向左或向右滑动。
- 要修改结束日期,将右侧的暂停图标向左或向右滑动。
从图标中排出维度
默认情况下,洞察会展示图标中可用的所有维度。
要想排除某个维度,在传统图标的下方,选择想要排除的维度名称。
深入查看图表
- 引入于极狐GitLab 16.7。
- 在极狐GitLab 16.9 中修改为支持所有的
issuables
图表。
您可以深入查看所有 query.data_source
为 issuables
的图表的数据。
要查看某个月内特定优先级或严重程度数据的细分报告,请执行以下操作:
- 在图表上,选择要深入查看的柱状堆叠图。
配置项目洞察
先决条件:
- 取决于您的项目配置,您必须至少具有开发者角色。
项目洞察在项目的 .gitlab/insights.yml
文件中配置。如果项目没有该配置文件,则使用 群组配置。、
.gitlab/insights.yml
是一个 YAML 文件,您可以在其中定义:
- 报告中图标的结构和顺序。
- 在项目获群组报告中展示的图表类型。
要配置项目洞察,用以下方式创建 .gitlab/insights.yml
文件:
- 本地,在您项目的根目录下创建,然后将变更推动。
- 从 UI 创建:
- 在左侧导航栏,选择 搜索或前往 并找到您的项目。
- 在文件列表上,选择您要提交的分支,并选择加号图标,然后选择 新文件。
- 在 文件名称 文本框中,输入
.gitlab/insights.yml
。 - 在大型文本框中,更新文件内容。
- 选择 提交变更。
当您创建配置文件后,您就可以为项目和群组使用该文件了。
配置群组洞察
极狐GitLab 从 默认的配置文件中读取洞察。
要配置群组洞察:
- 在属于您群组的项目中,创建一个
.gitlab/insights.yml
文件。 - 在左侧导航栏,选择 搜索或前往 并找到您的群组。
- 选择 设置 > 分析。
- 在 洞察 部分,选择包含
.gitlab/insights.yml
配置文件的项目。 - 选择 保存变更。
洞察文件配置
在 .gitlab/insights.yml
文件中:
- 配置参数定义了图表行为。
- 每个报告都有独一无二的键值,并有一系列拉取并展示的图表。
- 每个图表定义都由一个由键值对组成的哈希表构成。
以下示例展示了一个单个图表的单个报告所具有的定义:
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
洞察配置参数
以下表格列举出了图标参数:
关键字 | 描述 |
---|---|
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
来定义图标类型。
支持的值:
名称 | 示例: |
---|---|
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
来定义可以暴露数据的数据源。
Supported values:
-
issuables
:暴露合并请求或议题数据。 -
dora
:暴露 DORA 指标。
issuable
query parameters
query.params.issuable_type
使用 query.params.issuable_type
来定义要为其创建图表的待办事项类型。
Supported values:
-
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
按已配置的标签对待办事项进行分组。
默认情况下不应用分组。
比如::
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
来定义图标的 X 轴。
支持的值:
-
day
:群组每天的数据。 -
week
:群组每周的数据。 -
month
:群组每个月的数据。
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
来定义用于对待办事项进行分组的时间戳字段。
支持的值:
-
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
其他情况
DORA
query parameters
- 引入于极狐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
来定义图标的 X 轴。
支持的值:
-
day
(默认):群组每天的数据。 -
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