我希望能够检查运行该作业的当前构建用户是否为 admin。我使用了一些 API 来找出管理员用户列表,如下所示
import jenkins.model.Jenkins
import hudson.model.User
import hudson.security.Permission
allUsers = User.getAll()
adminList = []
for (u in allUsers) {
if (u.hasPermission(Jenkins.ADMINISTER)) {
// if (u.canDelete()) {
adminList.add(u)
}
}
println allUsers
println adminList
但总是两个用户列表(管理员和平均乔斯)是相同的,是的,我敢肯定,并非所有用户都是我的 jenkins 服务器中的管理员 :)
最佳答案
import jenkins.model.Jenkins
import hudson.model.User
allUsers = User.getAll()
adminList = []
authStrategy = Jenkins.instance.getAuthorizationStrategy()
for (u in allUsers) {
if (authStrategy.hasPermission(u.toString(), Jenkins.ADMINISTER)) {
adminList.add(u)
}
}
println(adminList)
关于groovy - 如何使用 groovy 脚本识别 Jenkins 上的管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953687/