我需要獲取包含特定標簽的節點串列。
我知道如何通過使用 Jenkins REST API 獲取整個節點串列然后逐個節點獲取 REST API 并檢查其標簽來做到這一點 - 但它對許多 API 呼叫。我還可以創建一些作業,通過標簽作為引數寫入某些地方節點串列 - 但它的壞方法是遠程觸發的 Jenkins 作業沒有回傳值,我不知道它完成了,需要從其他地方讀取作業保存的結果它在那里。
我需要某種方式,通過一個 API 呼叫,我將獲得包含給定標簽的節點串列。
uj5u.com熱心網友回復:
<JENKINS_URL>/computer/api/json您可以對(或為 python api)運行單個 API 呼叫,該呼叫<JENKINS_URL>/computer/api/python回傳所有節點及其屬性的串列。
屬性之一是標簽 - 所以只需遍歷所有節點并提取包含所需標簽的節點。
以下是回傳物件的示例:
{
"_class" : "hudson.model.ComputerSet",
"busyExecutors" : 0,
"computer" : [
{
"_class" : "hudson.model.Hudson$MasterComputer",
"actions" : [
],
"assignedLabels" : [
{
"name" : "built-in"
}
],
"description" : "the Jenkins controller's built-in node",
"displayName" : "Built-In Node",
"executors" : [
{
},
{
}
],
"icon" : "symbol-computer",
"iconClassName" : "symbol-computer",
"idle" : true,
"jnlpAgent" : false,
"launchSupported" : true,
"loadStatistics" : {
"_class" : "hudson.model.Label$1"
},
"manualLaunchAllowed" : true,
"monitorData" : {
"hudson.node_monitors.SwapSpaceMonitor" : {
"_class" : "hudson.node_monitors.SwapSpaceMonitor$MemoryUsage2",
"availablePhysicalMemory" : 6938730496,
"availableSwapSpace" : 6906019840,
"totalPhysicalMemory" : 16885276672,
"totalSwapSpace" : 21046026240
},
"hudson.node_monitors.TemporarySpaceMonitor" : {
"_class" : "hudson.node_monitors.DiskSpaceMonitorDescriptor$DiskSpace",
"timestamp" : 1653907906021,
"path" : "C:\\Windows\\Temp",
"size" : 426696622080
},
"hudson.node_monitors.DiskSpaceMonitor" : {
"_class" : "hudson.node_monitors.DiskSpaceMonitorDescriptor$DiskSpace",
"timestamp" : 1653907905929,
"path" : "C:\\ProgramData\\Jenkins\\.jenkins",
"size" : 426696622080
},
"hudson.node_monitors.ArchitectureMonitor" : "Windows 10 (amd64)",
"hudson.node_monitors.ResponseTimeMonitor" : {
"_class" : "hudson.node_monitors.ResponseTimeMonitor$Data",
"timestamp" : 1653907905941,
"average" : 0
},
"hudson.node_monitors.ClockMonitor" : {
"_class" : "hudson.util.ClockDifference",
"diff" : 0
}
},
"numExecutors" : 2,
"offline" : false,
"offlineCause" : null,
"offlineCauseReason" : "",
"oneOffExecutors" : [
],
"temporarilyOffline" : false
}
],
"displayName" : "Nodes",
"totalExecutors" : 2
}
您對該assignedLabels物件感興趣 - 請注意它可以包含多個標簽。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483621.html
上一篇:將引數映射到標簽
