![](/img/trans.png)
[英]How to convert jenkins job configuration config.xml to YAML format in python to be used jenkins-job-builder?
[英]How to create Jenkins Job with Customized XML in python
我正在嘗試使用python中的Jenkins模塊創建Jenkins作業。 我能夠與jenkins成功連接,並且perfrom獲得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)
查看create_job的文檔,應將 config_xml
參數作為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文件非常有幫助,並且對Python2 / 3之間的差異也有很好的解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.