Help us learn about your current experience with the documentation. Take the survey.
DevOps Research and Assessment (DORA) 指标 API
- Tier: Ultimate
- 产品: GitLab.com, GitLab Self-Managed, GitLab Dedicated
使用此 API 来获取您的群组和项目的 DORA 指标 的详细信息。
您还可以通过 GraphQL API 获取更多端点。
先决条件:
- 您至少需要拥有 Reporter 角色。
获取项目级别的 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。 |
end_date |
string | 否 | 日期范围的结束日期。ISO 8601 日期格式,例如 2021-03-01。默认为当前日期。 |
environment_tiers |
字符串数组 | 否 | 环境的层级。默认为 production。 |
interval |
string | 否 | 数据分桶的时间间隔。以下之一:all、monthly 或 daily。默认为 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_service 或 change_failure_rate。 |
end_date |
string | 否 | 日期范围的结束日期。ISO 8601 日期格式,例如 2021-03-01。默认为当前日期。 |
environment_tiers |
字符串数组 | 否 | 环境的层级。默认为 production。 |
interval |
string | 否 | 数据分桶的时间间隔。以下之一:all、monthly 或 daily。默认为 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 返回指定时间段内成功部署的总次数。Issue 371271 提议更新此 API,使其返回每日平均值而非总次数。 |
change_failure_rate |
指定时间段内的事故数量除以部署数量。仅适用于生产环境。 |
lead_time_for_changes |
对于在指定时间段内已部署的所有合并请求 (MR),其从合并到部署提交所需时间的中位数(以秒为单位)。 |
time_to_restore_service |
在指定时间段内,事故处于开放状态时间的中位数(以秒为单位)。仅适用于生产环境。 |
对于 monthly 和 all 时间间隔,API 通过计算每日中位数值的中位数来返回结果。这可能会导致返回的数据存在轻微的不准确性。