ビルド履歴のAPI

この機能は、Incredibuild のEnterprise Plan でのみ利用可能です。

ビルドに関するデータをJSONファイルで受け取ることができます。これにより、このデータをサードパーティのツールを使用したダッシュボードへの表示、参照や分析のための保存が可能です。

データは、時間、Build Group、その他のフィールドでフィルタリングすることがでできます。このAPIには、API キーおよびEnterpriseライセンスが必要です。

Incredibuildは過去200,000回のビルドのみをデータベースに保存しています。

リクエスト

エンドポイント

GET https://<coordinator IP>:8000/api/builds?coordinatorId=<coordinator ID>&version=<API version>&<other filters>

ここでのバージョン とは Incredibuild API のバージョンです。Build Data APIについては、現在バージョン1.3.0のみがサポートされています。

ヘッダー

リクエストには、client-api-key というキーを持つヘッダーと、API キー の値を文字列として含める必要があります。

エンドポイントフィルター:

リクエスト エンドポイントに以下のフィルターを追加して、結果を制限することができます。

フィールド
buildStartTimeFrom この時間より以前に開始したビルドのみを含める ISOフォーマット。例:2022-09-28T16:01:29.000
buildEndTimeTo この時間より以前に終了したビルドのみを含める ISOフォーマット。例:2022-09-28T16:01:29.000
initiatorID 特定のイニシエータによって開始したビルドのみを含む。 string
buildGroup 特定のBuild Groupのイニシエータによって実行されたビルドのみを含める string
buildTitle 指定されたタイトルのビルドのみを含める string

buildStatus

特定のステータスに一致するビルドのみを含める

{a,b,c,d}

buildDurationFrom

少なくともこの長さのビルドのみを含める

整数(秒)

buildDurationTo

この値より短いビルドのみを含める

整数(秒)

buildType

特定のビルドタイプに一致するビルドのみを含める

(ビルド、クリーン、リビルド、不明)

コマンドの例:

  • すべてのビルドを返す。

    GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0

  • 特定の時間以降に開始したビルドを返す。

    GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0&buildStartTimeFrom=2023-08-17T16:01:29.000Z

  • デフォルトのBuild Groupから実行されたビルドを返す。

    GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0&buildGroup=Default

  • ビルドタイプ=Rebuildのビルドを返す

    GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0&buildType=Rebuild

以下の例が示す通り、結果が300以上のビルドを返した場合、totalCountは300以上ですが、billsCountの値は300であることが分かります。次の300ビルドを表示するには、nextPageToken の値をコピーし、次のように別のリクエストで使用します。

GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0&nextPageToken="< 以下のJSONの値>"

応答

応答は、最大300ビルドを含むJSONファイルです。

フィールド 説明
totalCount リクエストに一致したビルドの総数
buildsCount このJSONに含まれるビルド数。この数値がtotalCount以下の場合は、ビルドが300以上あり、それらをすべて1つのJSONに含めることができないことという事を意味します。次の300ビルドを表示するには、「nextPageToken」の値をコピーし、別のリクエストのパラメータとして使用します。例: GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.3.0&nextPageToken="NjAw"
nextPageToken buildsCount を参照してください
ビルド

ファイルに含まれるビルドの配列

coordinatorId

このビルドに関連するコーディネーターのID

buildId

ビルドのID

initiatorId

ビルドを開始したエージェントのID

startTime

ビルドが開始した時間

endTime

ビルドが終了した時間

Duration

ビルドの長さ(秒)

buildPriority

ヘルパーを獲得するために、他のビルドよりもこのビルドに与えられた優先順位(1が最高、5が最低)

buildTitle

このビルドを説明するために追加したメタデータ(オプション)

buildStatus

ビルド完了時のステータス

buildType

ビルド、クリーニング、リビルドなど。

ヘルパー

このビルドに参加したヘルパーのリスト

totalWorkingHelpers

このビルドをアシストした一意のヘルパー総数

maxInitiatorCores

このビルドの実行に使用される イニシエータ コアの最大数

avgInitiatorCores

このビルドの実行に使用される イニシエータ コアの平均数

maxConcurrentWorkingHelpers

このビルド中に一度に動作する一意のヘルパーの最大数

avgConcurrentWorkingHelpers

このビルド中、一度に動作する一意のヘルパーの平均数

avgBusyHelperCores

このビルド中、一度に動作したヘルパーコアの平均数

maxBusyHelperCores

このビルド中、一度に動作したヘルパーコアの最大数

avgBusyCloudHelperCores

このビルド中、一度に動作したクラウドヘルパーコアの平均数

maxBusyCloudHelperCores

このビルド中、一度に動作するクラウドヘルパーコアの最大数

maxNeededHelperCores

要求されたヘルパーコアの最大数

avgNeededHelperCores

要求されたヘルパーコアの平均数

numberOfLocalTasks

このビルドに対して イニシエータ 上で実行されたタスクの総数

numberOfRemoteTasks

リモートで実行されたタスクの総数

numberOfCloudTasks

クラウドマシン上でリモート実行されたタスクの総数

remoteCoreTime

リモート(物理およびクラウド)でのタスク実行に使用された時間の合計(秒)

coreLimit

ビルドごとに許可される同時ヘルパーコアの最大数の設定

totalCacheableTasks

出力をキャッシュできるタスクの総数。

cacheTaskHits

Build Cacheを使用している場合、Build Cacheからの出力を再利用することによって省略されたタスクの数。

cacheTaskMiss

Build Cacheを使用している場合、Build Cacheで一致するタスクの検索に失敗した後に実行されたタスクの数。

cacheInitiatorRole

Initiator がキャッシュからのリードのみを行うのか、キャッシュへのライトも行うのか。

cacheTaskHitsOriginalDuration

Build Cacheから取得されたすべてのタスクの実行時間(ミリ秒単位)。

cacheServiceEndpoint

Build Cacheサービスのアドレス

cacheLicenseAllowed

Build Cacheに十分なCache Core(Build CacheでIncredibuild for Cloudを使用している場合はCloud Hour)があるかどうか。

createdAt

この応答を生成したAPIコールの日時。

応答例

次の例は、このJSONに含まれる最初のビルドを表示します。

コピー
{
 "totalCount":400
 "buildsCount":300
 "nextPageToken":"NjAw"
 "builds": [

        {

            "coordinatorId": "c407c0b4-b257-490a-91da-70b7bb5f0c8f",

            "buildId": "{0312b602-8d53-4443-afe5-2bd9f00c33d7}",

            "initiatorId": "64b4d714-fcde-4768-82ac-cdbdfbfa5343",

            "initiatorName": "Initiator#313",

            "startTime": "2023-08-18T20:05:42.708Z",

            "endTime": "2023-08-18T22:41:27.097Z",

            "duration": 9344389,

            "buildPriority": 3,

            "buildGroup": "Build Group 17",

            "buildTitle": "Build Title 5",

            "buildStatus": "Failure",

            "buildType": "Rebuild",

            "helpers": [

                "helper0",

                "helper1",

                "helper2",

                "helper3",

                "helper4",

                "helper5",

                "helper6",

                "helper7",

                "helper8",

                "helper9",

                "helper10",

                "helper11",

                "helper12",

                "helper13",

                "helper14",

                "helper15",

                "helper16",

                "helper17",

                "helper18",

                "helper19",

                "helper20"

            ],

            "totalWorkingHelpers": 9,

            "maxInitiatorCores": 48,

            "avgInitiatorCores": 94,

            "maxConcurrentWorkingHelpers": 97,

            "avgConcurrentWorkingHelpers": 91,

            "avgConcurrentBusyHelpers": 1,

            "maxConcurrentBusyHelpers": 30,

            "avgConcurrentBusyCloudHelpers": 50,

            "maxConcurrentBusyCloudHelpers": 59,

            "maxNeededHelperCores": 29,

            "avgNeededHelperCores": 84,

            "numberOfLocalTasks": 36,

            "numberOfRemoteTasks": 83,

            "numberOfCloudTasks": 94,

            "remoteCoreTime": 78,

            "coreLimit": 11,

            "totalCacheableTasks": 32,

            "cacheTaskHits": 8,

            "cacheTaskMiss": 31,

            "cacheInitiatorRole": 72,

            "savedTime": 81,

            "cacheServiceEndpoint": "endpoint",

            "cacheLicenseAllowed": true,

            "createdAt": "2023-08-20T07:27:30.425Z"

        }]

データからより多くのビルドを引き出す

ビルド履歴をダウンロード完了後、選択したデータベースでビルド履歴にアクセスできます。これにより、データをクエリし、さらに詳細情報を閲覧できます。以下にクエリの例をあげます。