ビルド履歴のAPI

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

データは、時間、Build Group、その他のフィールドでフィルタリングできます。この API にはAPI Key が必要です。

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

以下の例が示す通り、結果が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

ビルドの長さ(秒)

buildCaption

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

buildStatus

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

ヘルパー

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

totalWorkingHelpers

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

maxInitiatorCores

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

avgInitiatorCores

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

maxConcurrentWorkingHelpers

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

avgConcurrentWorkingHelpers

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

avgBusyHelperCores

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

maxBusyHelperCores

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

avgBusyCloudHelperCores

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

maxBusyCloudHelperCores

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

maxNeededHelperCores

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

avgNeededHelperCores

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

numberOfLocalTasks

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

numberOfRemoteTasks

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

numberOfCloudTasks

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

remoteCoreTime

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

coreLimit

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

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,

            "buildGroup": "Build Group 17",

            "buildCaption": "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,            

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

        }]

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

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