gpt4 book ai didi

groovy - Jenkins:如何在 groovy 脚本中获取用户 LDAP 组

转载 作者:行者123 更新时间:2023-12-02 05:23:49 25 4
gpt4 key购买 nike

我已经为 Jenkins 中的自助服务部署设置了参数化作业。用户可以选择应用程序的版本和要部署到的环境。当前向用户显示的可用环境只是一个静态字符串列表(选择参数)。

现在我想根据当前用户的 LDAP 组将部署限制到某些环境。

jenkins 中的用户页面显示如下:

Jenkins Benutzer ID:maku

群组:

adm_proj_a
nexus_admin
ROLE_ADM_PROJ_XY
ROLE_BH_KK

如何在 groovy 脚本中获取这些组?

我尝试使用动态选择参数(脚本程序)并使用 groovy 脚本获取 LDAP 组,但没有找到通过 Jenkins-API 的方法。

欢迎任何提示

最佳答案

User.getAuthorities() 要求调用者具有 ADMINISTER 权限。 (http://javadoc.jenkins-ci.org/hudson/model/User.html#getAuthorities())

另一种方法是直接查询 SecurityRealm。

import hudson.model.*
import jenkins.model.*

def userid = User.current().id
def auths = Jenkins.instance.securityRealm.loadUserByUsername(userid)
.authorities.collect{a -> a.authority}
if("adm_proj_a" in auths){
...

关于groovy - Jenkins:如何在 groovy 脚本中获取用户 LDAP 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24279864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com