Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Python从Jenkins获取作业详细信息_Python_Jenkins - Fatal编程技术网

无法使用Python从Jenkins获取作业详细信息

无法使用Python从Jenkins获取作业详细信息,python,jenkins,Python,Jenkins,我正在尝试使用“Jenkins api”和“python”打印“Jenkins”作业详细信息 我可以打印“詹金斯版本”,但不能打印詹金斯的“工作详情” from jenkinsapi.jenkins import Jenkins if __name__ == '__main__': jenkins_url = 'https://dev.localhost.com/XXXX/jenkins/' server = Jenkins(jenkins_url, 'user', 'passw

我正在尝试使用“Jenkins api”和“python”打印“Jenkins”作业详细信息

我可以打印“詹金斯版本”,但不能打印詹金斯的“工作详情”

from jenkinsapi.jenkins import Jenkins
if __name__ == '__main__':
    jenkins_url = 'https://dev.localhost.com/XXXX/jenkins/'
    server = Jenkins(jenkins_url, 'user', 'password')
    print server.version
    print server.get_jobs()
输出

2.32
<generator object iteritems at 0x7f4a46220fa0>
2.32
我的代码有什么问题吗(或者)我应该做些别的事情吗

按建议添加StackTrace

Traceback (most recent call last):
  File "jenver.py", line 26, in <module>
    for job in jobs:
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jobs.py", line 91, in iteritems
    for job in self.itervalues():
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jobs.py", line 116, in itervalues
    yield Job(row['url'], row['name'], self.jenkins)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/job.py", line 74, in __init__
    JenkinsBase.__init__(self, self.url)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 35, in __init__
    self.poll()
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/job.py", line 98, in poll
    data = super(Job, self).poll(tree=tree)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 59, in poll
    data = self._poll(tree=tree)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 69, in _poll
    return self.get_data(url, tree=tree)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 79, in get_data
    response = requester.get_url(url, params)
  File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/utils/requester.py", line 109, in get_url
    return requests.get(self._update_url_scheme(url), **requestKwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='6.4.2.182', port=8080): Max retries exceeded with url: /scm/jenkins/job/DO%20NOT%20CHANGE%20THIS%20PROJECT/api/python (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f5bcf894150>: Failed to establish a new connection: [Errno 110] Connection timed out',))
回溯(最近一次呼叫最后一次):
文件“jenver.py”,第26行,在
工作中的工作:
iteritems中的文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jobs.py”,第91行
对于self.itervalues()中的作业:
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jobs.py”,第116行,在itervalues中
产量作业(第['url'行,第['name'行,self.jenkins)
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/job.py”,第74行,在__
JenkinsBase.\uuuu init\uuuu(self,self.url)
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jenkinsbase.py”,第35行,在__
self.poll()
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/job.py”,第98行,在poll中
数据=超级(作业,自我)。轮询(树=树)
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jenkinsbase.py”,第59行,在poll中
数据=self.\u轮询(树=tree)
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jenkinsbase.py”,第69行,在
返回self.get_数据(url,tree=tree)
get_数据中的文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/jenkinsbase.py”,第79行
响应=请求者。获取url(url,参数)
文件“/usr/local/lib/python2.7/dist packages/jenkinsapi/utils/requester.py”,第109行,在get_url中
return requests.get(self.\u update\u url\u scheme(url),**requestKwargs)
文件“/usr/local/lib/python2.7/dist-packages/requests/api.py”,第70行,在get中
返回请求('get',url,params=params,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/requests/api.py”,请求中的第56行
return session.request(method=method,url=url,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/requests/sessions.py”,请求中第488行
resp=自我发送(准备,**发送)
文件“/usr/local/lib/python2.7/dist packages/requests/sessions.py”,第609行,在send中
r=适配器.send(请求,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/requests/adapters.py”,第487行,在send中
raise ConnectionError(e,请求=请求)
requests.exceptions.ConnectionError:HTTPSConnectionPool(host='6.4.2.182',port=8080):url超过最大重试次数:/scm/jenkins/job/DO%20未%20更改%20此%20项目/api/python(由NewConnectionError引起(“:未能建立新连接:[Errno 110]连接超时,”))

问题在于
get\u jobs
返回的是生成器而不是列表。有关如何打印作业的详细信息,请参见2

要打印生成器的项目,请尝试执行以下操作:

from jenkinsapi.jenkins import Jenkins

if __name__ == '__main__':
jenkins_url = 'https://dev.localhost.com/XXXX/jenkins/'
server = Jenkins(jenkins_url, 'user', 'password')
jobs = server.get_jobs()
for job in jobs:
    print(job)

我试过上面提到的代码。但堆栈跟踪如下所示。它指向正确的作业但错误的URL文件“/usr/local/lib/python2.7/dist-packages/requests/adapters.py”,第487行,位于send-raise-ConnectionError(e,request=request)requests.exceptions.ConnectionError:HTTPSConnectionPool(host='6.4.2.182',port=8080):URL超过最大重试次数:/scm/jenkins/job/Donotchisproject/api/python(由NewConnectionError(':无法建立新连接:[Errno 110]连接超时',)引起)感觉像是一个单独的问题。您可以在上述问题(或新问题)中发布完整的堆栈跟踪吗。该连接错误是另一个问题-由于某些原因,您无法连接到作业。请检查主机、端口和URL是否与预期一致,或者提出其他问题。抱歉