ビルド履歴の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

 

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

 

savedTime

Build Cacheを使用することで節約できる時間の見積もり

cacheServiceEndpoint

 

cacheLicenseAllowed

 

createdAt

 

応答例

次の例は、この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"

        }]