我正在尝试通过docker部署jenkins pod,并通过脚本配置Jenkins Jobs。使用下面的一些restAPIs
a) https://<hostname>/scriptText
b) https://<hostname>/job//build
c) https://<hostname>/job/api/json
.
.
and more
但是,当我开始构建作业时,由于错误错误而导致失败:错误:除非提供有效的用户名/密码,否则无法安装JDK。
它需要从管理Jenkins->全局工具配置-> JDK-> JDK安装
更改配置但是没有任何restAPI可用于执行此任务。
是否可以通过编程方式更改詹金斯全局配置?
答案 0 :(得分:0)
我发现的一个解决方案是,在 Global Tool Configuration 中设置用户名和密码以从oracle站点下载JDK。
为此,请使用scriptText rest api在groovy脚本下执行
set_username_password.groovy
import jenkins.model.*
import hudson.model.*
def inst = Jenkins.getInstance()
def desc = inst.getDescriptor("hudson.tools.JDKInstaller")
#create user account here: http://www.oracle.com/technetwork/java/javase/downloads/index.html
println desc.doPostCredential('<username>','<password>')
以
执行其余apicurl --user <jk_username>:<jk_password> --data-urlencode "script=$(cat set_username_password.groovy)" -X POST "https://<hostname>/scriptText"
参考文献:
https://github.com/glenjamin/jenkins-groovy-examples/blob/master/README.md
http://javadoc.jenkins.io/archive/jenkins-2.73/hudson/tools/JDKInstaller.DescriptorImpl.html