2016-09-27 3 views
1
私はジェンキンス2パイプラインの役割戦略プラグインで構成されたユーザロール/役割を、アクセスしたい

(ワークフロー) - ジェンキンスワークフローからユーザーロール(役割戦略プラグイン)を取得する方法:ジェンキンス2 - パイプラインプラグイン

node { 
     // Get the user Role 
} 

答えて

0
import jenkins.model.Jenkins 
import com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy 
import com.michelin.cio.hudson.plugins.rolestrategy.Role 

node { 
    stage('Get Role') { 
     def user = Jenkins.getInstance().getUser(
      Jenkins.getInstance().getItemByFullName(env.JOB_BASE_NAME, Job.class).getBuildByNumber(env.BUILD_ID as int).getCause(Cause.UserIdCause).getUserId() 
     ) 
     def authorization = Jenkins.getInstance().getAuthorizationStrategy() 
     //RoleBasedAuthorizationStrategy.{GLOBAL, PROJECT, SLAVE, MACRO_ROLE, MACRO_USER} 
     def grantedRoles = authorization.getGrantedRoles(RoleBasedAuthorizationStrategy.GLOBAL) 

     for (Role grantedRole : grantedRoles.entrySet()) { 
      if (grantedRole.getValue().contains(user.getId())) { 
       echo grantedRole.getKey().getName() 
      } 
     } 
    } 
} 
関連する問題