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

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

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