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

バリューストリーム分析データを取得する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GraphQL APIを使用して、設定されたバリューストリームおよびバリューストリームステージからメトリクスをリクエストします。このデータは、バリューストリーム分析データを外部システムにエクスポートする場合や、レポートとして使用する場合に役立ちます。

次のメトリクスを利用できます。

  • ステージ内の完了アイテム数。カウントは最大10,000アイテムに制限されています。
  • ステージ内の完了アイテムの中央期間。
  • ステージ内の完了アイテムの平均期間。

設定済みバリューストリームを取得する

前提条件:

  • レポーター、デベロッパー、メンテナー、またはオーナーロールが必要です。

まず、どのバリューストリームをレポートに使用するかを決定する必要があります。

グループの設定済みバリューストリームをリクエストするには、以下を実行します:

group(fullPath: "your-group-path") {
  valueStreams {
    nodes {
      id
      name
    }
  }
}

同様に、プロジェクトのメトリクスをリクエストするには、以下を実行します:

project(fullPath: "your-project-path") {
  valueStreams {
    nodes {
      id
      name
    }
  }
}

ステージのメトリクスを取得する

バリューストリームのステージのメトリクスをリクエストするには、以下を実行します:

group(fullPath: "your-group-path") {
  valueStreams(id: "your-value-stream-id") {
    nodes {
      stages {
        id
        name
      }
    }
  }
}

データの利用方法に応じて、特定のステージまたはバリューストリーム内のすべてのステージのメトリクスをリクエストできます。

すべてのステージのメトリクスをリクエストすると、一部のインストールでは処理が遅すぎる場合があります。推奨されるアプローチは、ステージごとにメトリクスをリクエストすることです。

そのステージのメトリクスをリクエストする:

group(fullPath: "your-group-path") {
  valueStreams(id: "your-value-stream-id") {
    nodes {
      stages(id: "your-stage-id") {
        id
        name
        metrics(timeframe: { start: "2024-03-01", end: "2024-03-31" }) {
          average {
            value
            unit
          }
          median {
            value
            unit
          }
          count {
            value
            unit
          }
        }
      }
    }
  }
}

常に指定された時間枠でメトリクスをリクエストする必要があります。最長でサポートされる時間枠は180日です。

このmetricsノードは追加のフィルタリングオプションをサポートしています:

  • アサインされたユーザー名
  • 作成者ユーザー名
  • ラベル名
  • マイルストーンのタイトル

フィルター付きのリクエスト例:

group(fullPath: "your-group-path") {
  valueStreams(id: "your-value-stream-id") {
    nodes {
      stages(id: "your-stage-id") {
        id
        name
        metrics(
          labelNames: ["backend"],
          milestoneTitle: "17.0",
          timeframe: { start: "2024-03-01", end: "2024-03-31" }
        ) {
          average {
            value
            unit
          }
          median {
            value
            unit
          }
          count {
            value
            unit
          }
        }
      }
    }
  }
}

ベストプラクティス

  • 現在のステータスを正確に把握するには、時間枠の終了にできるだけ近いタイミングでメトリクスをリクエストします。
  • 定期的なレポート作成のために、スクリプトを作成し、スケジュールされたパイプライン機能を使用して、データをタイムリーにエクスポートすることができます。
  • APIを呼び出すと、データベースから現在のデータが取得されます。時間の経過とともに、基礎となるデータベースのデータの変更により、同じメトリクスが変化する可能性があります。たとえば、グループからプロジェクトを移動または削除すると、グループレベルのメトリクスに影響を与える可能性があります。
  • 以前の期間のメトリクスを再度リクエストし、以前に収集されたメトリクスと比較することで、データの偏りを示すことができ、変化する傾向を発見し説明するのに役立ちます。