我爲Jenkins ver安裝了docker容器。 2.19.1。獲取jenkins.BadHTTPException當試圖從碼頭上運行的jenkins獲取版本信息
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03c10935bb3 jenkins "/bin/tini -- /usr/lo" 29 hours ago Up 3 hours 0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp cocky_colden
安裝python-jenkins
模塊訪問jenkins服務器。
我試着在docs中給出的第一個代碼示例。
import jenkins
server = jenkins.Jenkins('http://localhost:8080', username='admin', password='mytoken')
user = server.get_whoami()
version = server.get_version()
print('Hello %s from Jenkins %s' % (user['fullName'], version))
但它給出錯誤。
python /tmp/test.py
Traceback (most recent call last):
File "/tmp/test.py", line 5, in <module>
version = server.get_version()
File "/usr/lib/python2.7/site-packages/jenkins/__init__.py", line 616, in get_version
% self.server)
jenkins.BadHTTPException: Error communicating with server[http://localhost:8080/]
我檢查裏面提到的文檔:
從詹金斯vesion 1.426以後就可以進行身份驗證時對詹金斯實例的用戶指定的API令牌,而不是你真正的密碼。
我用密碼而不是token
但得到相同的錯誤。
我試圖curl
curl -X POST http://localhost:8080/job/testjob/build \
> --data token=mytoken \
> --data-urlencode json='{"parameter": [{"name":"id", "value":"123"}, {"name":"verbosity", "value":"high"}]}'
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 403 No valid crumb was included in the request</title>
</head>
<body><h2>HTTP ERROR 403</h2>
<p>Problem accessing /job/testjob/build. Reason:
<pre> No valid crumb was included in the request</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>
</body>
</html>
我從令牌名稱 - >配置 - >顯示API令牌...
還有什麼我已經從詹金斯側,使訪問?意味着,API將訪問此服務器?
我有同樣的問題,並解決它:' sudo apt-get install python-setuptools' –
它也適合你嗎? –
我有完全相同的問題。在我的情況下安裝python-setuptools沒有幫助。 – Enfors