如何使用Groovy脚本来识别詹金斯管理员 [英] How to identify admins on Jenkins using groovy scripts
本文介绍了如何使用Groovy脚本来识别詹金斯管理员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望能够检查谁在运行作业的当前构建用户是否是admin与否。我用了一些API找出管理员用户列表如下图所示。
进口jenkins.model.Jenkins
进口hudson.model.User
进口hudson.security.PermissionALLUSERS = User.getAll()
adminList = []
对(在ALLUSERS U){
如果(u.hasPermission(Jenkins.ADMINISTER)){
//如果(u.canDelete()){
adminList.add(U)
}
}
的println ALLUSERS
的println adminList
但总是两个用户(管理员和平均乔斯)名单一样,是的,我敢肯定,并不是所有的用户都是admin在我的詹金斯服务器:)
解决方案
进口jenkins.model.Jenkins
进口hudson.model.UserALLUSERS = User.getAll()
adminList = []
authStrategy = Jenkins.instance.getAuthorizationStrategy()对(在ALLUSERS U){
如果(authStrategy.hasPermission(u.toString(),Jenkins.ADMINISTER)){
adminList.add(U)
}
}的println(adminList)
I want to be able to check whether the current build user who is running the job is admin or not. I used some APIs to figure out the admins user list as shown below
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
but always both the list of users (admins and average-joes) are same, yes i am sure, not all users are admin in my jenkins server :)
解决方案
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脚本来识别詹金斯管理员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文