任何 Jenkins API 中是否有为我提供从属节点 COMPUTERNAME/Hostname 的功能
Is there a function in any Jenkins API that provides me with a slave nodes COMPUTERNAME/Hostname
我需要汇总在我的 jenkins 主节点上设置的 jenkins 从节点的所有主机名列表。许多节点都使用 SLAVE NODE EXAMPLE
之类的名称设置,而不是将它们的服务器名称作为节点名称。我知道如何从 UI 得到这个。但是我需要通过 python 访问它,因为我设置了很多节点,手动遍历每个节点将是一个漫长的过程。
我正在使用 python-jenkins api,它具有获取所有节点及其配置的功能。使用 get_node_config(name)
。但是它没有为我提供 COMPUTERNAME
。我似乎也无法在 Jenkins 主目录中找到包含该信息的文件。
获得节点名称后,您可以使用该名称获取有关 with 的更多信息
get_node_info(name, depth=0)
nodes = get_nodes()
for n in nodes:
info = get_node_info(n[name])
如果有帮助,这里有一个 groovy 脚本。 运行 来自控制台。注意:节点必须on-line才能查询。
Jenkins.instance.slaves.each {
print it.getNodeName() + ' : '
if ( it.getComputer().isOnline() ) {
println it.getComputer().getHostName() + ' : ' + it.getComputer().getOSDescription()
} else {
println ' - offline -'
}
}
return 0
见詹金斯 API - Computer
我需要汇总在我的 jenkins 主节点上设置的 jenkins 从节点的所有主机名列表。许多节点都使用 SLAVE NODE EXAMPLE
之类的名称设置,而不是将它们的服务器名称作为节点名称。我知道如何从 UI 得到这个。但是我需要通过 python 访问它,因为我设置了很多节点,手动遍历每个节点将是一个漫长的过程。
我正在使用 python-jenkins api,它具有获取所有节点及其配置的功能。使用 get_node_config(name)
。但是它没有为我提供 COMPUTERNAME
。我似乎也无法在 Jenkins 主目录中找到包含该信息的文件。
获得节点名称后,您可以使用该名称获取有关 with 的更多信息 get_node_info(name, depth=0)
nodes = get_nodes()
for n in nodes:
info = get_node_info(n[name])
如果有帮助,这里有一个 groovy 脚本。 运行 来自控制台。注意:节点必须on-line才能查询。
Jenkins.instance.slaves.each {
print it.getNodeName() + ' : '
if ( it.getComputer().isOnline() ) {
println it.getComputer().getHostName() + ' : ' + it.getComputer().getOSDescription()
} else {
println ' - offline -'
}
}
return 0
见詹金斯 API - Computer