首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过任何脚本在Jenkins中获取管理员用户列表?

如何通过任何脚本在Jenkins中获取管理员用户列表?
EN

Stack Overflow用户
提问于 2018-07-11 05:58:06
回答 2查看 3.3K关注 0票数 4

我试图获得管理员用户列表,以及用户和他们在Jenkins的权限级别的列表。

谁可以帮助我与任何可用的脚本请。

EN

回答 2

Stack Overflow用户

发布于 2018-07-11 09:12:54

您可以使用groovy脚本检索所有用户,如下所示:

代码语言:javascript
复制
import hudson.model.User

allUsers = User.getAll()
adminList = []

for (u in allUsers) {

    if (u.hasPermission(Jenkins.ADMINISTER)) {
        adminList.add(u)
    }
}

println(adminList)
票数 1
EN

Stack Overflow用户

发布于 2019-11-14 23:01:23

我使用以下脚本创建管理员用户列表。该脚本还适用于基于矩阵的安全性。

代码语言:javascript
复制
import hudson.model.User

def inst = Jenkins.getInstanceOrNull()
def strategy = inst.getAuthorizationStrategy()
def adminUserList = User.getAll().findAll { user ->
    strategy.hasPermission(user.id, Jenkins.ADMINISTER)
}

所有具有其权限的用户都可以访问,如下所示:

代码语言:javascript
复制
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])
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51274458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档