我有一个 Jenkins 用户,我想授予对 Jenkins 实例运行远程 CLI 的权限。第一个命令是获取 config.xml:
java -jar jenkins-cli.jar -s http://jenkins:8080/hudson get-job thejob
但是,当他调用该命令时,它会失败并显示:
Caught: java.lang.RuntimeException: \
hudson.security.AccessDeniedException2: \
USER is missing the Job/ExtendedRead permission \
at hudson.security.ACL.checkPermission(ACL.java:54)
我已授予在我们基于矩阵的安全网格中执行脚本、读取/创建/配置作业等的权利。在网格中有另一个用户具有完全相同的权限,但对于这个另一个用户,一切正常。
我没有安装任何插件“扩展读取权限”或“只读配置”。
我不明白为什么这个新用户会失败。建议任何人?
2 个用户 config.xml 文件的区别:
<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.4">
<credentials/>
与:
<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.8.3">
<domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"/>
最后一个:
<hudson.security.HudsonPrivateSecurityRealm_-Details>
<passwordHash>some values...</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>