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_frequencylead_time_for_changestime_to_restore_servicechange_failure_rate
end_date string 日期范围的结束日期。ISO 8601 日期格式,例如 2021-03-01。默认为当前日期。
environment_tiers 字符串数组 环境的层级。默认为 production
interval string 数据分桶的时间间隔。以下之一:allmonthlydaily。默认为 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_frequencylead_time_for_changestime_to_restore_servicechange_failure_rate
end_date string 日期范围的结束日期。ISO 8601 日期格式,例如 2021-03-01。默认为当前日期。
environment_tiers 字符串数组 环境的层级。默认为 production
interval string 数据分桶的时间间隔。以下之一:allmonthlydaily。默认为 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 在指定时间段内,事故处于开放状态时间的中位数(以秒为单位)。仅适用于生产环境。

对于 monthlyall 时间间隔,API 通过计算每日中位数值的中位数来返回结果。这可能会导致返回的数据存在轻微的不准确性。