DevOps Research and Assessment(DORA) 主要メトリクス API
- GitLab 13.10で導入されました。
{ "<date>" => "<value>" }
time_to_restore_service
メトリックはGitLab 14.9で導入されました。
DORAメトリクスは GraphQL APIでも取得できます。
すべてのメソッドには少なくともレポーターロールが必要です。
プロジェクト・レベルのDORAメトリクスを取得します。
プロジェクト・レベルのDORAメトリクスを取得します。
GET /projects/:id/dora/metrics
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーがアクセスできるプロジェクトのIDまたはURLエンコードされたパス。 |
metric | 文字列です。 | yes |
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メトリクスを取得します。
GitLab 13.10で導入されました。
グループレベルのDORAメトリクスを取得します。
GET /groups/:id/dora/metrics
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーがアクセスできるプロジェクトのIDまたはURLエンコードされたパス。 |
metric | 文字列です。 | yes |
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
間隔を返します。このため、返されるデータに若干の不正確さが生じることがあります。