前言:平时都是登录jenkins进行构建Job,但我不不想或其它集成的时候用到,所以弄了个远程触发Job构建,是挺不错的。
当前也有Python 等语言的sdk,亦可直接使用。
场景:
1.Configure Global Security-CSRF Protection 勾选兼容 (全局安全设置)
解释:一些 HTTP 代理过滤掉默认 crumb issuer 用于计算 nonce 值的信息。
如果 HTTP 代理位于您的浏览器客户端和 Jenkins 服务器之间,并且您在向 Jenkins 提交表单时收到 403 响应,则选中此选项可能会有所帮助。使用此选项使 nonce 值更容易伪造。
出现 403 的时候不妨看看是不是没勾选?
2.API token生成
说明:用来远程调用的认证合法,否则需要密码。推荐使用api token来远程调用构建。
API 令牌提供了一种进行经过身份验证的 CLI 或 REST API 调用的方法。有关更多详细信息,请参阅。与每个令牌关联的用户名是您的 Jenkins 用户名。保持 API 令牌安全的一些良好做法是:
1.复制job的url,如下图编辑job中能看到示例,但不用保存。
JENKINS_URL/job/TestJob/build?token=TOKEN_NAME or /buildWithParameters?token=TOKEN_NAME
Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.
build:无参数化构建
buildWithParameters:有参数化构建
2.postman选择 Auth
输入账号和密码即可,请求响应码为201正常。
3.也可以使用curl请求,-u 账号:apiToken
curl -I -X POST \
http://域名:端口/job/TestJob/build -u test:11b112d9cf514da3ce8f4d38928d79b592
4.参数化构建:buildWithParameters
curl -I -X POST \
http://域名:端口/job/TestJob/buildWithParameters?key1=value1&key2=value2-u test:11b112d9cf514da3ce8f4d38928d79b592
test:为用户名
11b112d9cf514da3ce8f4d38928d79b592:为apiToken
便可以看到jenkins在构建
欢迎来大家QQ交流群一起学习:482713805,博主微信+:gogsxl
因篇幅问题不能全部显示,请点此查看更多更全内容