我需要从Python脚本访问Jenkins JSON API。问题在于我们的Jenkins安装是安全的,因此登录用户必须选择证书。可悲的是,在詹金斯Remote Access Documentation他们没有提及证书的事情,我试图使用API令牌没有成功。如何在远程访问JSON API的同时在Jenkins中进行身份验证?
如何从Python脚本进行身份验证以使用其JSON API?
提前致谢!
我需要从Python脚本访问Jenkins JSON API。问题在于我们的Jenkins安装是安全的,因此登录用户必须选择证书。可悲的是,在詹金斯Remote Access Documentation他们没有提及证书的事情,我试图使用API令牌没有成功。如何在远程访问JSON API的同时在Jenkins中进行身份验证?
如何从Python脚本进行身份验证以使用其JSON API?
提前致谢!
您必须使用HTTP基本身份验证向JSON API进行身份验证。
为了使脚本客户端(如wget的)调用需要授权的操作(如计划建造),使用HTTP基本身份验证指定用户名和API令牌。这通常比模拟的基于表单的认证
https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
更方便下面是一个使用基本身份验证与Python的一个样本。
http://docs.python-requests.org/en/master/user/authentication/
请记住,如果你使用的是内部詹服务器上的自签名证书,您需要关闭证书验证OR从服务器获取证书,并将其添加到HTTP请求
我终于找到了如何使用certs和wget验证Jenkins。我必须将我的pfx证书转换为带证书和密钥的私人文件For more info about that come here。最后,这是我使用的命令。
wget --certificate=/home/B/cert.pem --private-key=/home/B/key.pem --no-check-certificate --output-document=jenkins.json https:<URL>
我不得不使用证书:(但非常感谢这包括如何使用与Python证书!我是一个Python新手的链接! – Rhyuk