gpt4 book ai didi

python-3.x - Jenkins Python API 返回 HTML

转载 作者:行者123 更新时间:2023-12-04 01:40:33 24 4
gpt4 key购买 nike

我正在尝试编写一个 Python 脚本来与我的 Jenkins 实例对话。我正在使用 jenkinsapi 的最新版本模块并查询 Jenkins 1.509.3。

我可以获得如下的工作 list :

l=j.get_jobs_list()

在哪里 jjenkinsapi.Jenkins 的一个实例(我使用 jenkinsapi.utils.requester 的请求者跳过 ssl 验证)

但是,当我尝试获取有关个人工作的更多信息时
j.get_job(l[0])

它失败并出现以下错误: Inappropriate content found at [some_address]并且返回的是一堆 HTML(看起来像我的实例的起始页,您在登录时看到的那个),而不是任何看起来像响应的东西。粘贴 [some_address]进入浏览器给了我我期望的回应。

虽然我可以获得有关 Jenkins 实例的一些信息,但我真正感兴趣的是有关个人工作的信息。任何想法如何解决它并获取工作信息?

最佳答案

使用 python 3.6、python-jenkins 1.0.1 和 Jenkins 2.121.1,以下效果很好:

import pprint
import jenkins

IP = 'localhost'
USERNAME = 'my_username'
PW = 'my_password'

def get_version(server):
user = server.get_whoami()
version = server.get_version()
print('Hello %s from Jenkins %s' % (user['fullName'], version))


def get_jobs(server):
jobs = server.get_jobs() # List[dict]
print("Here are top 5 jobs")
pprint(jobs[:5])
return jobs


def get_job(server, job_name):
job_config = server.get_job_config(job_name) # XML
job_info = server.get_job_info(job_name) # dict

print("\n --- JOB CONFIG --- ")
print(job_config)

print("\n --- JOB INFO --- ")
pprint(job_info)


if __name__ == "__main__":
_server = jenkins.Jenkins(IP, username=USERNAME, password=PW)
get_version(_server)
_jobs = get_jobs(_server)

get_job(_server, _jobs[0]['name'])

我使用的 Jenkins API 记录在这里: https://python-jenkins.readthedocs.io/en/latest/index.html

关于python-3.x - Jenkins Python API 返回 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26865460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com