Build Group API
すべてのAPIコールには、client-api-key という鍵と、API キー の値を持つヘッダーを含める必要があります。すべてのAPIは大文字と小文字を区別します。
以下で、APIコールに含まれる項目の説明をします:
-
Coordinator IP アドレス・ホスト名 - Coordinator のIPアドレスまたはホスト名です。
-
Coordinator UI ポート - インストール時に定義したポート番号です。既定値では、8000となっています。
-
バージョン - APIのバージョンです。現在、バージョンは1.0.0のみです。
-
coordinator ID - IncredibuildがCoordinatorに割り当てるIDです。Coordinator マネージャー >設定 >API アクセス のエリアで確認できます。
特定のCoordinatorに属するすべてのBuild Groupのリストを返します。
リクエストの構文
GET https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups?coordinatorId={coordinatorId}&version=1.0.0
リクエスト例:
GET https://coordinatorPc:8000/api/build-groups?coordinatorId=00000000-0000-0000-0000-000000000000&version=1.0.0
応答例
[
{
"group": "Default",
"agentCount": 1
},
{
"group": "QA-2",
"agentCount": 6
},
{
"group": "QA-3",
"agentCount": 4
}
]
特定のBuild Groupに属するすべてのAgentのリストを返します。
リクエストの構文
GET https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups?coordinatorId={coordinatorId}&version=1.0.0
リクエスト例:
GET https://coordinatorPc:8000/api/build-groups/dev-group/agents?coordinatorId=00000000-0000-0000-0000-000000000000&version=1.0.0
応答例
[
{
"name": "AgentSmith",
"ip": "127.0.0.1"
},
{
"name": "AgentBill",
"ip": "127.0.0.2",
}
]
1つまたは複数のAgentの詳細を返します。これらのAgentの詳細の意味については、Agentの表示 を参照してください。
リクエストの構文
GET https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/agents?coordinatorId={coordinatorId}&version=1.0.0&agents=[{agent name1},{agent name2}]
リクエスト例:
GET https://coordinatorPc:8000/api/agents?agents=[AgentSmith,NeoHelper,SpoonHelper]&coordinatorId=00000000-0000-0000-0000-000000000000&version=1.0.0
応答例
{
"agentsInRequest": 3,
"agentsInResults": 2,
"agentsNotFound": 1,
"agentsDetails": [
{
"name": "AgentSmith",
"id": " AgentSmith ",
"buildGroup": "dev-group",
"ip": "127.0.0.1",
"status": "Ready"
},
{
"name": "NeoHelper”,
"id": " NeoHelper”,
"buildGroup": "devops",
"ip": "100.6.6.6",
"status": "Ready"
}
]
}
既存のBuild Groupに1つまたは複数のAgentを割り当てます。Agentの1つがビルドに参加している場合やオフラインの場合は、Agent の割り当てアクションを実行することができません。
Agentの例を含めたリクエスト構文
POST https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/{build group name}/agents/add?coordinatorId={coordinatorId}&version=1.0.0
{
"agents": ["YAIRMAYER8DBB", "test"]
}
リクエスト例:
POST https://coordinatorPc:8000/api/build-groups/cool-guys/agents?coordinatorId=00000000-0000-0000-0000-000000000000&version=1.0.0
{
"agents": ["AgentJay", "AgentBob","AgentDante"]
}
応答例:
[
{
"agentName": "AgentJay",
"status": "OK"
},
{
"agentName": "AgentBob",
"status": "OK"
},
{
"agentName": "AgentDante",
"status": "fail",
"message": "Agent not found"
}
]
指定したBuild GroupからすべてのAgentを削除します。Agentは、デフォルト Build Groupにサイド割り当てられます。
Agentがオフラインの場合、「クリア」アクションは正常に完了したように見えるかもしれませんが、オフラインのAgentは元のBuild Groupに残ります。
リクエストの構文
POST https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/{group}/clear?coordinatorId={coordinatorId}&version=1.0.0
{
}
リクエスト例:
POST https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/Dev/clear?coordinatorId={coordinatorId}&version=1.0.0
{
}
応答例:
{
"clearedGroupName": "Dev",
"agentsAffected": 2
}
指定されたAgentを、割り当てられたBuild Groupから削除します。Agentは、デフォルト Build Groupにサイド割り当てられます。
指定したBuild Group内の1つ以上のAgentが現在ビルドに参加しているか、オフラインの場合は、「クリア」アクションを実行することができません。Agentがオフラインの場合、「クリア」アクションは正常に完了したように見えるかもしれませんが、オフラインのAgentは元のBuild Groupに残ります。
リクエストの構文
POST https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/agents/clear?coordinatorId={coordinatorId}&version=1.0.0
{
"agents": ["agentname1", "agentname2"]
}
リクエスト例:
POST https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/agents/clear?coordinatorId={coordinatorId}&version=1.0.0
{
"agents": ["desktop123", "desktop248"]
}
応答例:
[
{
"agentName": "desktop123",
"status": "OK"
},
{
"agentName": "desktop248",
"status": "OK"
},
]