Agent Priority API
この機能は、Incredibuild のEnterprise Plan でのみ利用可能です。
これらのAPIにより、AgentのBuild PriorityとAssignment Priorityを設定することができます。
-
Build Priority: このAgentが開始したビルドに割り当てられる優先度です。すべてのビルドに対して十分なヘルパーがない場合、ビルドの優先順位によって、どのビルドがヘルパーを得るかを定義します。最も優先順位の高い(1)ビルドは、常に、優先順位の低いビルドのどれよりも前に、全ヘルパーを受け取ります。人数が足りない場合、2-4の優先順位は、ヘルパーを分配します。最も優先順位の低い(5)は、他のすべてのビルドが完全に分配された場合にのみヘルパーを受け取ります。
-
Assignment Priority:AgentのAssignment Priorityが高いほど、ビルドの支援に割り当てられる可能性が高くなります。
すべてのAPIコールには、client-api-key という鍵と、API キー の値を持つヘッダーを含める必要があります。すべてのAPIは大文字と小文字を区別します。
サポートマトリックス
| Agent Priority APIバージョン | Incredibuild for Windowsの必要なバージョン |
|---|---|
| 1.5.0 | 10.18 |
以下で、APIコールに含まれる項目の説明をします:
-
Coordinator IP アドレス ホスト名 - Coordinator のIPアドレスまたはホスト名です。
-
Coordinator UI ポート - インストール時に定義したポート番号です。既定値では、8000となっています。
-
バージョン - APIのバージョンです。現在、バージョン1.5.0のみサポートされています。APIコールでバージョンを指定しなかった場合、サポートされている中で最も低いバージョンが使用されます。
-
coordinator ID - IncredibuildがCoordinatorに割り当てるIDです。Coordinator マネージャー >設定 >API アクセス のエリアで確認できます。
Build Priorityの設定
AgentのBuild Priorityを設定します。
リクエストの構文
POST https://{Coordinator IP Address/Hostname}:{Port}/api/agents/setBuildPriority?coordinatorId={coordinatorId}&version=1.5.0
構文の本文
{
"agents": ["agentname1", "agentname2"],
"buildPriority": [1-5]
}
本文の例:
{
"agents": ["agent007", "agent006"],
"buildPriority": 1
}
リクエスト例:
POST https://coordmachinename:8000/api/agents/setBuildPriority?coordinatorId=0F0ZY79D-3D7B-4DC6-2C2E-90D1DF0AD24E&version=1.5.0
応答例:
[
{
"agentName": "agent007",
"status": "OK"
},
{
"agentName": "agent006",
"status": "OK"
}
]
Assignment Priorityの設定
AgentのAssignment Priorityを設定します。
リクエストの構文
POST https://{Coordinator IP Address/Hostname}:{Port}/api/agents/setAssignmentPriority?coordinatorId={coordinatorId}&version=1.5.0
構文の本文
{
"agents": ["agent1", "Agent2"],
"assignmentPriority": [1-5]
}
本文の例
{
"agents": ["agent007", "agent006"],
"assignmentPriority": 3
}
リクエスト例:
POST https://coordmachinename:8000/api/agents/setAssignmentPriority?coordinatorId=0F0EA79D-3C8B-4DC5-9C2E-90D1DF0AD24E&version=1.5.0
応答例:
[
{
"agentName": "agent007",
"status": "OK"
},
{
"agentName": "agent006",
"status": "OK"
}
]