{{< details >}}

  • Tier: 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

您还可以使用 GraphQL API 检索 DORA 指标

所有方法至少需要 Reporter 角色。

获取项目级别的 DORA 指标

获取项目级别的 DORA 指标。

GET /projects/:id/dora/metrics
属性 类型 是否必需 描述
id integer/string 可以通过经过身份验证的用户访问的项目的 ID 或 URL 编码路径
metric string deployment_frequency, lead_time_for_changes, time_to_restore_servicechange_failure_rate 之一。
end_date string 结束日期范围。ISO 8601 日期格式,例如 2021-03-01。默认是当前日期。
environment_tiers array of strings 环境的层级。默认是 production
interval string 分组间隔。all, monthlydaily 之一。默认是 daily
start_date string 开始日期范围。ISO 8601 日期格式,例如 2021-03-01。默认是 3 个月前。

示例请求:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/dora/metrics?metric=deployment_frequency"

示例响应:

[
  { "date": "2021-03-01", "value": 3 },
  { "date": "2021-03-02", "value": 6 },
  { "date": "2021-03-03", "value": 0 },
  { "date": "2021-03-04", "value": 0 },
  { "date": "2021-03-05", "value": 0 },
  { "date": "2021-03-06", "value": 0 },
  { "date": "2021-03-07", "value": 0 },
  { "date": "2021-03-08", "value": 4 }
]

获取群组级别的 DORA 指标

获取群组级别的 DORA 指标。

GET /groups/:id/dora/metrics
属性 类型 是否必需 描述
id integer/string 可以通过经过身份验证的用户访问的项目的 ID 或 URL 编码路径
metric string deployment_frequency, lead_time_for_changes, time_to_restore_servicechange_failure_rate 之一。
end_date string 结束日期范围。ISO 8601 日期格式,例如 2021-03-01。默认是当前日期。
environment_tiers array of strings 环境的层级。默认是 production
interval string 分组间隔。all, monthlydaily 之一。默认是 daily
start_date string 开始日期范围。ISO 8601 日期格式,例如 2021-03-01。默认是 3 个月前。

示例请求:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/dora/metrics?metric=deployment_frequency"

示例响应:

[
  { "date": "2021-03-01", "value": 3 },
  { "date": "2021-03-02", "value": 6 },
  { "date": "2021-03-03", "value": 0 },
  { "date": "2021-03-04", "value": 0 },
  { "date": "2021-03-05", "value": 0 },
  { "date": "2021-03-06", "value": 0 },
  { "date": "2021-03-07", "value": 0 },
  { "date": "2021-03-08", "value": 4 }
]

value 字段

对于上面项目和群组级别的端点,API 响应中的 value 字段根据提供的 metric 查询参数具有不同的含义:

metric 查询参数 响应中 value 的描述
deployment_frequency API 返回时间段内成功部署的总数。
change_failure_rate 时间段内的事故数量除以部署数量。仅适用于生产环境。
lead_time_for_changes 时间段内所有已部署的合并请求(MR)的合并和 MR 提交的部署之间的秒数中位数。
time_to_restore_service 时间段内事故开放的秒数中位数。仅适用于生产环境。

{{< alert type=”note” >}}

API 通过计算每日中值的中值来返回 monthlyall 间隔。这可能会导致返回数据中出现轻微误差。

{{< /alert >}}