代码之家  ›  专栏  ›  技术社区  ›  red888

如何从jenkins管道中获取用户角色?

  •  0
  • red888  · 技术社区  · 5 年前

    我用的是詹金斯企业号。

    当我登录时,我可以在这里: https://myserver/cjoc/roles/whoAmI

    我看到以下信息:

    User: me@blah.com
    Groups: "Administrators" administer
    External groups: "authenticated", "groupone", "grouptwo"
    

    如何从正在运行的管道中看到这一点?

    我可以像这样获取Jenkins用户,但是如何获取用户的外部组呢?

    def currentBuild = currentBuild.rawBuild
    def cause = currentBuild.getCause(hudson.model.Cause.UserIdCause.class)
    def theJenkinsUser = cause?.getUserName()
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   MaratC    5 年前
        def user_id = cause.getUserId()
    
        def user_groups = User.getById(user_id, false).getAuthorities()
        if ('groupone' in user_groups || 'grouptwo' in user_groups) {
            println "This user is allowed"
        } else {
            currentBuild.result = "ABORTED"
            error("User not allowed")
        }