DevOps 研究和评估 (DORA) 关键指标 API

您还可以使用 GraphQL API 来获取 DORA 指标

所有方法都至少需要报告者角色权限。

获取项目级别 DORA 指标

获取项目级别 DORA 指标。

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

请求示例:

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_frequencylead_time_for_changestime_to_restore_servicechange_failure_rate 之一。
start_date string 开始的日期范围。ISO 8601 日期格式,例如2021-03-01。 默认为 3 个月前。
end_date string 结束日期范围。ISO 8601 日期格式,例如2021-03-01。 默认为当前日期。
interval string 时间间隔。allmonthlydaily。默认为 daily
environment_tiers array of strings 环境级别。默认为 production

请求示例:

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 返回该时间段内成功部署的总数。
lead_time_for_changes 合并请求 (MR) 的合并与该时间段内部署的所有 MR 的 MR 提交部署之间的中位数秒数。
time_to_restore_service 事件在该时间段内打开的中位秒数。仅适用于生产环境。
change_failure_rate 事件数除以时间段内的部署数。仅适用于生产环境。
note API 通过计算每日中值的中值返回 monthlyall 间隔。这可能会导致返回的数据略有不准确。