python使⽤request启动jenkins
之前写了⼀篇命令⾏启动jenkins的三种⽅法分别是使⽤curl 、使⽤jenkins-cli命令⾏调⽤jar包启动,或使⽤python第三⽅库jenkins来启动
其实python的jenkins库也是封装了request库
因此也是可以直接⽤requests来启动
今天碰到,使⽤jenkins库启动总是提⽰401(传了username和password),后来⼲脆⾃⼰⽤request搞了
import requests
from requests.auth import HTTPBasicAuth
如果jenkins的安全设置是,匿名⽤户可以做任何事,则这⾥就不⽤了auth,直接发请求即可
requests.post('localhost',auth=HTTPBasicAuth("admin",'123456'))
或把auth写在header⾥
headers={"Authorization": Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx}
参数直接⽤字典
data={"branch":"master"}
requests.post('localhost',headers=headers,data=data)
curl是什么命令这⾥的url还可以是jenkins⾃⾝提供的api url,可以直接获取jenkins的执⾏信息等
注意:如果jenkins1.0开启了跨站伪造请求保护,则需要在header⾥传递jenkins-Crumb
直接浏览器访问JENKINS_URL/crumbIssuer/api/json 就可以获取到你的crumb
headers={"jenkins-Crumb":crumb的值 }
或者直接关闭该选项
但是jenkins2.*页⾯上是关闭不了的,需要修改配置⽂件或修改启动jenkins参数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论