我使用python-jenkins。我需要从任何工作中收集参数化值。
我不明白,我怎么能这样做?! 我的部分脚本:
...
s = jenkins.Jenkins(server_url, user, pwd)
try:
job_name = 'job_name'
build_num = s.get_job_info(job_name)['lastBuild']['number']
while build_num>0:
try:
build_info = s.get_build_info(job_name,build_num)
build_info_actions = build_info['actions']
print(build_info_actions)
...
我查看了一些信息
[{'parameters': [{'value': '12345', 'name': 'name1', '_class': 'hudson.model.StringParameterValue'}, {'value': 'value2', 'name': 'name2', '_class': 'hudson.model.StringParameterValue'}, {'value': 'http://some_URL', 'name': 'Url1', '_class': 'hudson.model.StringParameterValue'}, {'value': '', 'name': 'Url2', '_class': 'hudson.model.StringParameterValue'}], '_class': 'hudson.model.ParametersAction'}, {'_class':'hudson.model.CauseAction', 'causes': [{'note': None, '_class': 'hudson.model.Cause$RemoteCause', 'shortDescription': 'Started by host NameHost', 'addr': 'some.address'}]}, {'_class': 'jenkins.metrics.impl.TimeInQueueAction'}, {}, {}, {}, {}, {}, {}, {}]
我如何收集所有信息并保存到文件中:
name1 , 12345, name2, value2, Url1, http://some_URL ...
BIG Thx为您提供帮助! 抱歉我的英文不好..
答案 0 :(得分:0)
x = [{'parameters': [{'value': '12345', 'name': 'name1'}]}]
下面
x
是列表([]
)的字典,可能还包含带字典的列表。
e.g。访问value
就像这样:
x[0]
是列表中的第一个元素,因为这是一个字典,你得到它的键parameters
就像
x[0]['parameters']
这也是一个词典列表,第一个元素是
x[0]['parameters'][0]
并且密钥value
是
x[0]['parameters'][0]['value']
然后只是连接字符串并写入文件。