【问题标题】:How to get parameterized value from Jenkins python如何从 Jenkins python 获取参数化值
【发布时间】:2017-07-20 09:58:26
【问题描述】:

我使用 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 ... 

谢谢你的帮助! 对不起我的英语不好..

【问题讨论】:

  • 不确定我的问题是否正确。您想知道如何从字典中读取值吗?基本上就是这样和一些字符串连接。
  • 是的,你说得对。我需要这个。对不起我的英语不好。

标签: python search jenkins collect


【解决方案1】:
x = [{'parameters': [{'value': '12345', 'name': 'name1'}]}]

这里

x

是可能还包含字典列表的字典列表 ([])。

例如访问value 是这样完成的:

x[0] 是列表中的第一个元素,因为这是一个字典,你可以得到它的键 parameters 就像

x[0]['parameters']

这也是一个字典列表,第一个元素是

x[0]['parameters'][0]

而密钥value

x[0]['parameters'][0]['value']

然后只是连接字符串并写入文件。

【讨论】:

  • 从这里可以吗?还是您需要更多信息?
  • 还有一个问题。如果 [] 中未包含参数,我如何获取参数?
  • 不知道你的意思。您可以使用for d in y 迭代列表。如果y 是字典列表,您可以使用d.keys() 获取字典d 的键或使用for key in d 迭代字典。由于d.keys() 是一个迭代器,如果您需要一个列表,请使用list(d.keys()),但for a in d.keys() 也可以。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-08
  • 2015-09-04
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 2014-06-06
  • 1970-01-01
相关资源
最近更新 更多