Java操作Jenkins操作凭证(Credential)信息

jenkins-client包的api中大部分的操作是支持的,但有一些特殊操作,比如需要操作jenkins的Credential凭据信息,或是希望使用java修改Jenkins的系统配置,类似这样的操作在api中是没有的。
但依然可以通过rest的方式完成这些操作


当新增一条凭据信息时可以通过浏览器的网络监控看到他的请求内容
Java操作Jenkins操作凭证(Credential)信息_第1张图片
Java操作Jenkins操作凭证(Credential)信息_第2张图片
Java操作Jenkins操作凭证(Credential)信息_第3张图片
可以看到操作凭证的请求地址、请求参数列表,这里的参数列表的参数非常的多,但实际上在源码中读取的只有红框中的json的这一段。用postman来模拟调用一下
Java操作Jenkins操作凭证(Credential)信息_第4张图片

调用后会发现是失败的,失败原因是我们没有提供登录jenkins的认证信息
用户管理—你的用户—设置—API TOKEN中添加token

Java操作Jenkins操作凭证(Credential)信息_第5张图片
我们会得到一个认证信息串,记录下来,重新拼装postman请求
请求地址更改为http://用户名:token@地址,发送请求即可

Java操作Jenkins操作凭证(Credential)信息_第6张图片
虽然返回值是一个页面,但我们查看一下凭据列表,请求的凭据已经被录入了

在这里插入图片描述


java通过jenkins-client发送请求,jenkins-client不需要使用token。
Java中通过JenkinsServer获取JenkinsHttpClient对象,使用postFromWithResult方法发送请求报文即可,但这里判断返回值的时候不能使用200判断结果,因为返回结果是一个重定向请求(302)

HttpResponse httpResponse = staticJenkinsHttpClient.post_form_with_result("/credentials/store/system/domain/_/createCredentials", data, crumbFlag);

这个方法只有0.3.8以上版本的jenkins-client才有


如果要使用rest修改jenkins的配置应该也是一样的道理。
公司在生产环境做初期部署的时候需要修改大量的jenkins的配置和插件的参数配置,很容易忘记一些配置,如果调成一个请求完成配置应该也是不错的。

你可能感兴趣的:(java,jenkins)