如何使用Groovy脚本,以确定对詹金斯管理员(How to identify admins on

2019-10-22 05:12发布

我希望能够检查谁在运行作业的当前构建用户是否是管理员或不是。 我使用了一些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

但总是两个用户(管理员和平均乔斯)的列表是相同的,是的,我肯定的是,并不是所有的用户都在我的詹金斯服务器管理员:)

Answer 1:

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)


文章来源: How to identify admins on Jenkins using groovy scripts