DevOps 研究和评估 (DORA) 关键指标 API
您还可以使用 GraphQL API 来获取 DORA 指标。
所有方法都至少需要报告者角色权限。
获取项目级别 DORA 指标
获取项目级别 DORA 指标。
GET /projects/:id/dora/metrics
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | 是 | 通过身份验证用户可以使用 ID 或项目 URL 编码路径访问。 |
metric |
string | 是 |
deployment_frequency 、lead_time_for_changes 、time_to_restore_service 或 change_failure_rate 之一。 |
start_date |
string | 否 | 开始的日期范围。ISO 8601 日期格式,例如 2021-03-01 。 默认为 3 个月前。 |
end_date |
string | 否 | 结束日期范围。ISO 8601 日期格式,例如 2021-03-01 。 默认为当前日期。 |
interval |
string | 否 | 时间间隔。all 、monthly 或 daily 。默认为 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_frequency 、lead_time_for_changes 、time_to_restore_service 或 change_failure_rate 之一。 |
start_date |
string | 否 | 开始的日期范围。ISO 8601 日期格式,例如2021-03-01 。 默认为 3 个月前。 |
end_date |
string | 否 | 结束日期范围。ISO 8601 日期格式,例如2021-03-01 。 默认为当前日期。 |
interval |
string | 否 | 时间间隔。all ,monthly 或 daily 。默认为 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 |
事件数除以时间段内的部署数。仅适用于生产环境。 |
API 通过计算每日中值的中值返回
monthly
和 all
间隔。这可能会导致返回的数据略有不准确。