Post 如何通过curl禁用Jenkins作业?
我想通过向Jenkins发送一个post curl请求来禁用Jenkins作业 我尝试过使用以下方法:Post 如何通过curl禁用Jenkins作业?,post,curl,jenkins,Post,Curl,Jenkins,我想通过向Jenkins发送一个post curl请求来禁用Jenkins作业 我尝试过使用以下方法: curl-xpost http://:8080//disable curl-xpost http://:8080//disable?token= curl-u:POST http://:8080//disable 但每次都失败了。我得到的错误是: 403请求中未包含有效的面包屑 有没有一个很好的基于卷曲的解决方案来解决这个问题?下面的内容对我很有用 curl -X POST http://&l
curl-xpost http://:8080//disable
curl-xpost http://:8080//disable?token=
curl-u:POST http://:8080//disable
有没有一个很好的基于卷曲的解决方案来解决这个问题?下面的内容对我很有用
curl -X POST http://<servername>/job/jobname/disable
curl-X POSThttp:///job/jobname/disable
请确保用户可以访问此操作。碎屑错误表示您正在使用。您需要在请求中包含一个适当的面包屑标题。面包屑可以从Jenkins API获得,如上面链接的Jenkins wiki页面所述。for“Trigger parameterized build with curl and crump”显示了在curl请求中添加crump头的语法 没有有效的crump意味着您的Jenkins安装启用了一个安全选项,该选项可以防止以标准方式发送请求,从而避免。您也不能使用Jenkins CLI,因为它是 以下是使用
curl
的步骤(用Jenkins地址替换localhost
):
/user/user/configure
)CRUMB=$(curl -s 'http://USER:TOKEN@localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
curl -X POST -H "$CRUMB" http://USER:TOKEN@localhost:8080/<jobname>/disable
curl-X POST-H“$crump”http://USER:TOKEN@localhost:8080//禁用
如果由于某种原因上述方法不起作用,您可以尝试改用-u USER:TOKEN
curl-H$crumphttp://localhost:8080//disable -u用户:令牌设置jenkins的“全局安全设置”:
取消选中“防止跨站点请求伪造漏洞”CREAM数据始终是固定的还是每次都必须使用查询获取?@rwt CREAM大部分是静态的,但它确实取决于用户名和客户端IP。如果您编写的脚本中的参数会有所不同,最好在脚本开始时请求碎屑。谢谢,这就是我在java应用程序中需要的,发送user:token-in-request-header禁用CSRF保护会打开一个安全漏洞,并使您的实例容易受到恶意制作的链接的攻击,效果非常好!注意,使用curl-u user:pass可能更干净http://localhost:8080/...
而不是将user/pass放入URL本身(取决于编写脚本的方式)。