Build Group API
每个 API 调用必须包含一个带有名为 client-api-key 密钥的标题和 API 密钥值。所有 API 需要区分大小写。
以下是 API 调用中的项目描述:
-
Coordinator IP Address/Hostname – Coordinator 的 IP 地址或主机名。
-
Coordinator UI Port – 您在安装过程中定义的端口号。默认情况下,该端口号为 8000。
-
版本 - API 版本。目前,只有一个版本:1.0.0
-
Coordinator ID - Incredibuild 分配给 Coordinator 的 ID。您可以在 Coordinator Manager > Settings > API Access 区域中查看此内容。

返回特定 Coordinator 中的所有 Build Groups 列表。
请求语法
访问 https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups?coordinatorId={coordinatorId}&version=1.0.0
请求示例:
访问 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 列表。
请求语法
访问 https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/build-groups/{build group name}/agents?coordinatorId={coordinatorId}&version=1.0.0
请求示例:
访问 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",
}
]

返回一个或多个 Agents 的详情。有关这些 Agents 详情含义的更多信息,请参阅 Viewing Agents。
请求语法
访问 https://{Coordinator IP Address/Hostname}:{Web Access Port}/api/agents?coordinatorId={coordinatorId}&version=1.0.0&agents=[{agent name1},{agent name2}]
请求示例:
访问 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"
}
]
}

将一个或多个 Agent 分配至现有 Build Group。如果其中一个 Agent 正在参与构建或处于离线状态,则无法执行 Agent 分配操作。
请求语法(包括示例 Agents)
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 中删除所有 Agents。将 Agents 重新分配到 Default Build Group 中。
如果 Agent 处于离线状态,则 Clear 操作虽显示为成功完成,但实际上离线 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
}

从分配的任何 Build Groups 中移除指定的 Agents。其会被重新分配到 Default Build Group 中。
如果指定 Build Group 中的一个或多个 Agent 当前正在参与构建或离线,您将无法执行 Clear 操作。如果Agent 处于离线状态,则 Clear 操作虽显示为成功完成,但实际上离线 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"
},
]