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 区域中查看此内容。
获取 Build Group 列表
返回特定 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 中的 Agents
返回特定 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 的详情。有关这些 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 分配至现有 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
从指定的 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 Group 中的 Agents
从分配的任何 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"
},
]