DevOps Research and Assessment (DORA) metrics API
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、グループおよびプロジェクトのDORAメトリクスの詳細を取得します。
GraphQL APIで追加のエンドポイントを利用できます。
前提要件:
- レポーターロール以上が必要です。
プロジェクトレベルのDORAメトリクスを取得します
プロジェクトレベルのDORAメトリクスを取得します。
GET /projects/:id/dora/metrics| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | 認証済みユーザーがアクセスできるプロジェクトのID、またはURLエンコードされたパス。 |
metric | 文字列 | はい | deployment_frequency、lead_time_for_changes、time_to_restore_service、change_failure_rateのいずれかです。 |
end_date | 文字列 | いいえ | 日付範囲の終了日。ISO 8601形式の日付。例: 2021-03-01。デフォルトは現在の日付です。 |
environment_tiers | 文字列の配列 | いいえ | 環境の階層。デフォルトはproductionです。 |
interval | 文字列 | いいえ | バケット間隔。all、monthly、dailyのいずれか。デフォルトはdailyです。 |
start_date | 文字列 | いいえ | 日付範囲の開始日。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 | 整数または文字列 | はい | 認証済みユーザーがアクセスできるプロジェクトのID、またはURLエンコードされたパス。 |
metric | 文字列 | はい | deployment_frequency、lead_time_for_changes、time_to_restore_service、change_failure_rateのいずれかです。 |
end_date | 文字列 | いいえ | 日付範囲の終了日。ISO 8601形式の日付。例: 2021-03-01。デフォルトは現在の日付です。 |
environment_tiers | 文字列の配列 | いいえ | 環境の階層。デフォルトはproductionです。 |
interval | 文字列 | いいえ | バケット間隔。all、monthly、dailyのいずれか。デフォルトはdailyです。 |
start_date | 文字列 | いいえ | 日付範囲の開始日。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では、合計数ではなく、1日の平均を返すようにAPIを更新することを提案しています。 |
change_failure_rate | 期間中のデプロイ数で割ったインシデント数。本番環境でのみ使用できます。 |
lead_time_for_changes | 期間中にデプロイされたすべてのマージリクエストの、マージリクエストのマージとマージリクエストコミットのデプロイの間の秒数の中央値。 |
time_to_restore_service | 期間中にインシデントが開いていた秒数の中央値。本番環境でのみ使用できます。 |
APIは、1日のメジアン値のメジアンを計算して、monthlyおよびallの間隔を返します。これにより、返されるデータにわずかな不正確さが生じる可能性があります。