首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用python中的自定义XML创建Jenkins作业

如何使用python中的自定义XML创建Jenkins作业
EN

Stack Overflow用户
提问于 2017-08-25 00:05:21
回答 1查看 1.2K关注 0票数 0

我正在尝试使用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)
EN

回答 1

Stack Overflow用户

发布于 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之间的差异。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45866349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档