{{< 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_service 或 change_failure_rate 之一。 |
end_date |
string | 否 | 结束日期范围。ISO 8601 日期格式,例如 2021-03-01 。默认是当前日期。 |
environment_tiers |
array of strings | 否 |
环境的层级。默认是 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 |
array of strings | 否 |
环境的层级。默认是 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 返回时间段内成功部署的总数。 |
change_failure_rate |
时间段内的事故数量除以部署数量。仅适用于生产环境。 |
lead_time_for_changes |
时间段内所有已部署的合并请求(MR)的合并和 MR 提交的部署之间的秒数中位数。 |
time_to_restore_service |
时间段内事故开放的秒数中位数。仅适用于生产环境。 |
{{< alert type=”note” >}}
API 通过计算每日中值的中值来返回 monthly
和 all
间隔。这可能会导致返回数据中出现轻微误差。
{{< /alert >}}