我有一個名為 Computer 的帶有活動選擇引數的 Jenkins 作業。我應該撰寫哪個 groovy 腳本來為我提供所有節點名稱,并且只為當前登錄用戶顯示一個?所有節點都帶有桌面標簽。我嘗試了以下但它不起作用:
import hudson.slaves.DumbSlave
def users = []
for (DumbSlave it : Hudson.instance.getSlaves()) {
if(it.getLabelString().contains("Desktop")) {
def currAgent = it?.computer?.name
if(currAgent != null) {
users.add(currAgent)
}
}
}
return users
更新: 建議答案顯示節點串列,但現在我只想顯示當前登錄的用戶。類似的東西(它對我不起作用):
import jenkins.model.*
def users = []
Jenkins.instance.nodes.each { node ->
if(node.labelString.contains("Desktop")) {
def currAgent = node?.computer?.name
if(currAgent != null) {
if(it.computer.systemProperties.containsKey('user.name')) {
def user = it.computer.systemProperties['user.name'].toLowerCase()
if(user != null) {
if(users.containsKey(user)) {
users.add(currAgent)
}
else {
users[user] = [currAgent]
}
}
}
}
}
}
return users
uj5u.com熱心網友回復:
嘗試這個:
import jenkins.model.*
def users = []
Jenkins.instance.nodes.each { node ->
if(node.labelString.contains("Desktop")) {
def currAgent = node?.computer?.name
if(currAgent != null) {
users.add(currAgent)
}
}
}
return users
或者讓它成為 Groovyer:
import jenkins.model.*
return Jenkins.instance.nodes.findAll { node ->
node.labelString.contains("Desktop")}.collect { node ->
node?.computer?.name }
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/352052.html
上一篇:jQuery滾動頂部功能不起作用
