如何获取没有管理员权限的用户列表(Groovy + jenkins)

How to get list of users which does not have Admin privilege ( Groovy + jenkins)

如何获取没有管理员权限的用户列表 (Groovy + jenkins)


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

这为我提供了具有管理员权限的用户列表。如何检索所有没有管理员权限的用户的列表。

您只需从 allUserList 中减去 adminUserList,您将拥有非管理员用户。

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

一个简单的否定有助于获得预期的输出:

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

刚刚将“strategy.hasPermission”更改为“!strategy.hasPermission”,这给出了预期的输出。