当我运行脚本来获取 jenkins 上的所有用户时,它会同时提供活动用户和非活动用户。但它也为我提供了不在我的詹金斯管理詹金斯->管理角色->分配角色页面上的用户。
import hudson.model.User
User.getAll().each { user ->
println user.getProperty(hudson.tasks.Mailer.UserProperty.class).getAddress()
}
I run this script to fetch total users.
从评论中似乎正在使用角色策略插件。 大家可以参考这里的javadochttps://javadoc.jenkins.io/plugin/role-strategy/com/michelin/cio/hudson/plugins/rolestrategy/RoleBasedAuthorizationStrategy.html#doGetAllRoles(java.lang.String)
参考文档中提到的命令。
curl -X GET localhost:8080/role-strategy/strategy/getAllRoles?type=projectRoles
应获取输出为
{
"role2": [{"type":"USER","sid":"user1"}, {"type":"USER","sid":"user2"}],
"role2": [{"type":"GROUP","sid":"group1"}, {"type":"USER","sid":"user2"}]
}
一旦提供了所有角色和相关用户的列表,就可以解析输出以获得所有用户的唯一列表。或者更好的用户角色列表。