DevOps DORA 指标 API

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

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

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

获取项目级别的 DORA 指标#

获取项目级别的 DORA 指标。

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

示例请求:

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

示例响应:

json
1[ 2 { "date": "2021-03-01", "value": 3 }, 3 { "date": "2021-03-02", "value": 6 }, 4 { "date": "2021-03-03", "value": 0 }, 5 { "date": "2021-03-04", "value": 0 }, 6 { "date": "2021-03-05", "value": 0 }, 7 { "date": "2021-03-06", "value": 0 }, 8 { "date": "2021-03-07", "value": 0 }, 9 { "date": "2021-03-08", "value": 4 } 10]

获取群组级别的 DORA 指标#

获取群组级别的 DORA 指标。

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

示例请求:

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

示例响应:

json
1[ 2 { "date": "2021-03-01", "value": 3 }, 3 { "date": "2021-03-02", "value": 6 }, 4 { "date": "2021-03-03", "value": 0 }, 5 { "date": "2021-03-04", "value": 0 }, 6 { "date": "2021-03-05", "value": 0 }, 7 { "date": "2021-03-06", "value": 0 }, 8 { "date": "2021-03-07", "value": 0 }, 9 { "date": "2021-03-08", "value": 4 } 10]

value 字段#

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

metric 查询参数响应中 value 的描述
deployment_frequencyAPI 返回时间段内成功部署的总数。
change_failure_rate时间段内的事故数量除以部署数量。仅适用于生产环境。
lead_time_for_changes时间段内所有已部署的合并请求(MR)的合并和 MR 提交的部署之间的秒数中位数。
time_to_restore_service时间段内事故开放的秒数中位数。仅适用于生产环境。
API 通过计算每日中值的中值来返回 `monthly` 和 `all` 间隔。这可能会导致返回数据中出现轻微误差。