1

我正在尝试通过 docker 部署 jenkins pod,并通过脚本配置 Jenkins Jobs。使用以下一些 restAPI

a) https://<hostname>/scriptText
b) https://<hostname>/job//build
c) https://<hostname>/job/api/json
.
.
and more

但是,当我开始构建作业时,由于错误错误而失败:除非提供有效的用户名/密码,否则无法安装 JDK。

它需要从Manage Jenkins -> Global Tool Configuration -> JDK -> JDK Installations更改配置

但是没有任何 restAPI 可用于执行此任务。

有没有办法以编程方式更改詹金斯全局配置?

4

1 回答 1

1

我发现的一种解决方案是,在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>')

执行其余的 api

curl --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

于 2018-08-13T06:50:59.423 回答