正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

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_frequencylead_time_for_changestime_to_restore_servicechange_failure_rateのいずれかです。
end_date文字列いいえ日付範囲の終了日。ISO 8601形式の日付。例: 2021-03-01。デフォルトは現在の日付です。
environment_tiers文字列の配列いいえ環境の階層。デフォルトはproductionです。
interval文字列いいえバケット間隔。allmonthlydailyのいずれか。デフォルトは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_frequencylead_time_for_changestime_to_restore_servicechange_failure_rateのいずれかです。
end_date文字列いいえ日付範囲の終了日。ISO 8601形式の日付。例: 2021-03-01。デフォルトは現在の日付です。
environment_tiers文字列の配列いいえ環境の階層。デフォルトはproductionです。
interval文字列いいえバケット間隔。allmonthlydailyのいずれか。デフォルトは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_frequencyAPIは、期間中のデプロイの合計数を返します。Issue 371271では、合計数ではなく、1日の平均を返すようにAPIを更新することを提案しています。
change_failure_rate期間中のデプロイ数で割ったインシデント数。本番環境でのみ使用できます。
lead_time_for_changes期間中にデプロイされたすべてのマージリクエストの、マージリクエストのマージとマージリクエストコミットのデプロイの間の秒数の中央値。
time_to_restore_service期間中にインシデントが開いていた秒数の中央値。本番環境でのみ使用できます。

APIは、1日のメジアン値のメジアンを計算して、monthlyおよびallの間隔を返します。これにより、返されるデータにわずかな不正確さが生じる可能性があります。