DevOps Research and Assessment(DORA)メトリクス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は、期間中の成功したデプロイの総数を返します。イシュー 371271は、合計数ではなく日次平均を返すようにAPIを更新することを提案しています。 |
change_failure_rate | 期間中のインシデント数÷デプロイ数。本番環境でのみ利用可能です。 |
lead_time_for_changes | 期間中にデプロイされたすべてのMRについて、マージリクエスト(MR)のマージとMRのコミットのデプロイとの間の秒数の中央値。 |
time_to_restore_service | 期間中にインシデントが開いていた秒数の中央値。本番環境でのみ利用可能です。 |
APIは、日次中央値の中央値を計算することにより、monthlyおよびallの間隔を返します。これにより、返されるデータにわずかな不正確さが生じる可能性があります。