如何使用Groovy脚本来识别詹金斯管理员 [英] How to identify admins on Jenkins using groovy scripts

查看:178
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆