ビルド統計を取得する
この記事では、TeamCity RESTAPI を介してビルド統計にアクセスする一般的なユースケースについて説明します。
分析またはデモ用の統計を取得します。
特定のビルドの詳細を取得します。
サーバーからのメタデータを必要とする複雑なビルドロジックを構成します。
ビルド統計値を取得する
特定のビルドのすべてのビルド統計値を取得するには、次を使用します。
ここで、buildLocator は BuildLocator エンティティです。エンドポイントは Properties エンティティで応答します。
次の方法で特定の値を直接取得できます。
エージェントワークロード統計を取得する
TeamCity UI のエージェント統計タブには、エージェントがビジー状態のときが表示されます。これにより、システムの負荷を見積もることができます。TeamCity RESTAPI を介して同じ情報を取得することが可能です。
特定のエージェントの最近のロード時間を取得するには、2 つの手順を実行する必要があります。まず、エージェント ID を確認します。
サーバーは、エージェントエンティティを含むエージェントエンティティで応答します。この応答でエージェントの id プロパティを解析し、それを使用して次の要求を送信します。
ビルドがこのエージェントを正確に占有していた時期を確認するには、fields パラメーターを指定します。
応答には、エージェントがキューに入れられたとき、およびエージェントがこのビルドによって占有および解放されたときの詳細を含むタイムスタンプが含まれます。このデータを使用して、エージェントのビジー時間またはアイドル時間の合計を計算できます。
ビルドの詳細を取得する
ビルドの詳細を取得する必要があるほとんどの場合、次のリクエストで十分です。
GET /app/rest/builds/id:<build ID>
詳細を取得するには、ビルドのサブエンティティを使用できます。例: 上記の呼び出しによって取得された TestOccurrences エンティティは、デフォルトでは展開されません。ビルド内で実行されたテストの詳細を取得するには、TestOccurrences エンティティの href プロパティを使用できます。または、エンドポイントを変更することもできます。
GET /app/rest/builds?locator=id:8501&fields=build(id,testOccurrences(testOccurrence(id,name,status,duration)))
これにより、名前、ステータス、期間など、テストに関する最小限のデータが公開されます。
ビルド統計を取得する別の方法は、次のエンドポイントを使用することです。
応答には、ビルドの統計値(ビルドステップの期間、テストの概要など)を含む Properties エンティティが含まれます。
関連ページ:
BuildLocator
ビルドエンティティをフィルタリングするためのロケーター文字列を表します。例: — ID のビルドを検索します。 — によって検出されたビルド構成でビルドを検索します。 — を無効にして、によって検出されたエージェントで実行されたビルドを検索します(以下を参照)。Properties:プロジェクト(直接または間接の親)ロケーター。エージェントロケーター。ビルドの実行に使用されるエージェントの typeId。状態は任意です。ブランチロケーター。ビルドタイプロケーター。キャンセルされます。
エージェントの表示
TeamCity は、ビルドエージェントの効率を推定し、システムの管理に役立つ便利な方法を提供します。ロード統計マトリックス:エージェントページのマトリックスタブで利用できるマトリックスでは、選択した期間に完了したすべてのビルドのビルドエージェントの全体的なワークロードを俯瞰できます。特定のエージェントと互換性のあるビルド構成を確認することで、ビルド構成を特定のビルドエージェントに割り当て、アイドル時間を大幅に短縮できます。これにより、ハードウェアリソースの使用をより効果的に調整し、発見された...