cod*_*ent 5 jenkins jenkins-plugins jenkins-pipeline
我想访问在 Jenkins 2 管道(工作流程)中的角色策略插件中配置的用户角色:
node {
// Get the user Role
}
Run Code Online (Sandbox Code Playgroud)
小智 4
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()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2744 次 |
| 最近记录: |