我正在尝试使用python中的Jenkins模块创建一个Jenkins作业。我能够成功地连接到jenkins和perfrom get job_count以及create_job()方法。
在create_job()方法中,我只能使用"jenkins.EMPTY_CONFIG_XML“参数来执行此操作。如何传递我自己的xml配置文件?下面是我的代码,我已经将配置保存在本地,如何通过替换EMPTY_CONFIG_XML来传递它。我试了几样东西,都不管用。在网上找不到。我的下面的代码工作正常。它正在使用EMPTY_CONFIG_XML创建TestJob。有没有人可以帮助一下如何传递自定义的XML文件?感谢您的帮助!
import jenkins
import xml.etree.ElementTree as ET
server = jenkins.Jenkins("http://x.x.x.x:8080", username="foo", password="baar")
#print server.get_whoami()
server.create_job("TestJob",jenkins.EMPTY_CONFIG_XML)
发布于 2018-06-20 04:37:16
查看一下documentation for create_job,应该将config_xml
参数作为字符串形式传递。
我使用xml.etree.ElementTree解析XML文件并将其转换为字符串:
import xml.etree.ElementTree as ET
def convert_xml_file_to_str():
tree = ET.parse(path_to_config_file)
root = tree.getroot()
return ET.tostring(root, encoding='utf8', method='xml').decode()
def main():
target_server = jenkins.Jenkins(url, username=username, password=password)
config = convert_xml_file_to_str()
target_server.create_job(job_name, config)
main()
我发现XML线程对理解如何解析this文件非常有帮助,它也很好地解释了Python2/3之间的差异。
https://stackoverflow.com/questions/45866349
复制相似问题