Jenkins api触发远程Jenkins job

步骤一:在远程Jenkins Job的配置页,开启远程触发功能,并配置你的token

步骤二:远程Jenkins配置当前用户的API token

点击右上角用户名-->点击configure-->API Token-->把配置的API Token复制并保存到你本地,后续用的到

步骤三:如果你要传参数给远程Jenkins,需配置远程Jenkins的参数化构建,参数名要跟你传的参数保持一致。如果不传参数,此步骤跳过。

 

步骤四:关闭远程Jenkins的CSRF

新版jenkins页面没有关闭CSRF的入口,需要找到jenkins.sh文件并添加以下内容

在exec java那一行的-Duser.home="$JENKINS_HOME"后,添加-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true

重启jenkins后Configure Global Security的CSRF项如下图,则说明关闭成功:

步骤五:开启远程Jenkins的匿名用户权限

 

步骤六:使用CURL调用远程Jenkins构建Job的API(网络要通)

本地Jenkins的Shell里:

curl -X POST http://远程Jenkins地址/job/远程Job名/buildWithParameters?token=步骤一的token\&步骤三的参数=参数值

问题:

此种方式使用的是匿名用户来调用Jenkins Api,所以步骤二的Api Token并没有用到。我尝试在curl里携带用户认证信息来使用指定用户调用Jenkins Api,但都返回了403。后尝试使用python-jenkins来调用Jenkins Api,虽然构建jenkins server的时候传了username和password参数,但测试发现仍然是匿名用户,还是返回403。不得其解。。。各位要是知道如何使用指定用户来调用Jenkins Api,求在评论区告知~

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值