我正在尝试获取管理员用户列表以及 Jenkins 中的用户及其权限级别。
任何人都可以帮我提供任何可用的脚本吗?
我正在尝试获取管理员用户列表以及 Jenkins 中的用户及其权限级别。
任何人都可以帮我提供任何可用的脚本吗?
您可以使用 groovy 脚本检索所有用户,如下所示:
import hudson.model.User
allUsers = User.getAll()
adminList = []
for (u in allUsers) {
if (u.hasPermission(Jenkins.ADMINISTER)) {
adminList.add(u)
}
}
println(adminList)
我使用以下脚本来创建管理员用户列表。该脚本还适用于基于矩阵的安全性。
import hudson.model.User
def inst = Jenkins.getInstanceOrNull()
def strategy = inst.getAuthorizationStrategy()
def adminUserList = User.getAll().findAll { user ->
strategy.hasPermission(user.id, Jenkins.ADMINISTER)
}
所有具有其权限的用户都可以按如下方式访问:
import hudson.model.User
import hudson.security.Permission
def inst = Jenkins.getInstanceOrNull()
def strategy = inst.getAuthorizationStrategy()
strategy.getMetaPropertyValues().find { it.getName() == 'grantedPermissions'}.each {
// it.value is a map with permission as key and the corresponding users as value
print(it.value[Permission.READ])
print(it.value[Permission.WRITE])
print(it.value[Permission.HUDSON_ADMINISTER])
}