Insights

Insights

Introduced in 12.0.

配置对您的项目至关重要的见解,以探索数据,例如分类诊断,在给定期间内创建/关闭的问题,合并请求的平均合并时间等等.

注意:此功能 .

您可以通过点击左侧栏中的Analytics(分析)> Insights链接来访问项目的 Insights:

Insights sidebar link

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 的单个定义,它将显示一个带有一个图表的页面:

每个图表定义均由键值对组成的哈希组成.

  1. - title: "Monthly bugs created"
  2. description: "Open bugs created per month"
  3. type: bar
  4. query:
  5. issuable_type: issue
  6. issuable_state: opened
  7. filter_labels:
  8. - bug
  9. group_by: month
  10. period_limit: 24

图表被定义为定义图表行为的参数列表.

下表列出了图表的可用参数:

Parameter details

以下是用于配置 Insights 图表的参数的详细说明.

title是图表的标题,它将显示在 Insights 页面上. 例如:

  1. monthlyBugsCreated:
  2. title: "Monthly bugs created"

description文字显示在图表上方,但标题下方. 它用于提供有关图表的更多详细信息,例如:

type是图表类型.

例如:

  1. monthlyBugsCreated:
  2. title: "Monthly bugs created"
  3. type: bar

Supported values are:

query允许定义条件/合并请求成为图表的一部分.

Example:

  1. monthlyBugsCreated:
  2. title: "Monthly bugs created"
  3. description: "Open bugs created per month"
  4. type: bar
  5. query:
  6. issuable_type: issue
  7. issuable_state: opened
  8. filter_labels:
  9. - bug
  10. collection_labels:
  11. - S1
  12. - S2
  13. - S3
  14. - S4
  15. group_by: week
  16. 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设置为linestacked-bar .

Example:

  1. title: "Weekly bugs by severity"
  2. type: stacked-bar
  3. query:
  4. issuable_type: issue
  5. issuable_state: opened
  6. filter_labels:
  7. - bug
  8. collection_labels:
  9. - S1
  10. - S2
  11. - S3
  12. - S4

定义图表的 X 轴.

支持的值为:

  • dayday组数据.
  • weekweek组数据.
  • monthmonth组数据.

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 if query.issuable_state is closed
  • merged_at if query.issuable_state is merged
  • 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示例中,我们指定将在其中使用查询的项目. 设置小组的见解时,此示例非常有用:

  1. monthlyBugsCreated:
  2. title: "Monthly bugs created"
  3. description: "Open bugs created per month"
  4. type: bar
  5. query:
  6. issuable_type: issue
  7. issuable_state: opened
  8. filter_labels:
  9. - bug
  10. projects:
  11. only:
  12. - 3 # You can use the project ID
  13. - groupA/projectA # Or full project path
  14. - groupB/project # Projects outside the group will be ignored