ビルド履歴の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.5.0、1.4.0、および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

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

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

loggingLevel

APIバージョン1.5.0が必要です。特定のロギングレベルに一致するビルドのみを含める。

Integer 1-5

コマンドの例:

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

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

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

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

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

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

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

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

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

GET https://10.132.15.166:8000/api/builds?coordinatorId=12345&version=1.5.0&nextPageToken="<value in JSON below>"

応答

応答は、最大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

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

TotalCoreTime

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

coreLimit

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

totalCacheableTasks

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

cacheTaskHits

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

cacheTaskMiss

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

cacheInitiatorRole

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

cacheTaskHitsOriginalDuration

APIバージョン1.4.0以上が必要です。Build Cacheから取得されたすべてのタスクの実行時間(ミリ秒単位)。

cacheServiceEndpoint

Build Cacheサービスのアドレス

cacheLicenseAllowed

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

createdAt

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

loggingLevel

APIバージョン1.5.0以上が必要です。Agentのロギングレベル。1が最も低いログレベルであり、5が最も高いログレベルです。

agentDescription

APIバージョン1.5.0以上が必要です。Agent Listに追加したイニシエータエージェントの説明。

loggedOnUsers

APIバージョン1.5.0以上が必要です。ビルドの実行が開始された時点でイニシエーターマシンにログオンしていたWindowsユーザーのカンマ区切りのリスト。

1.5.0の応答例

次の例は、このJSONに含まれる最初のビルドを表示します。旧バージョンのAPIを使用している場合、応答が若干異なる可能性があります。

コピー
{
 "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",
            
            "agentDescription": "My favorite Agent",
            
            "loggedOnUsers": "Harry, Jane",
            
            "loggingLevel": 3
        }]

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

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