Jenkins - 以作业名称作为参数触发构建链

时间:2013-06-08 15:46:10

标签: python groovy jenkins

我想在这里找到一些经验丰富的建议......

我想接受一个作业名列表(逗号或空格分隔的字符串)作为参数。

Jenkins需要按照输入的顺序依次将它们构建为一个链(我在触发它们之前验证列表)。列表长度未知。

请建议可能的解决方案(我正在考虑groovy脚本,curl和Jason调用shell或者python)。

欢迎任何建议!

2 个答案:

答案 0 :(得分:0)

我选择使用groovy脚本执行一个groovy构建步骤。除了我发布的in this question所描述的遗失参数这个主要问题之外,它的效果很好。

任何帮助都非常受欢迎。

我希望这会有所帮助。

答案 1 :(得分:0)

首先,将您的职位列表放在your_jobs_lists.txt中,每个职位名称各行。
第二次pip install python-jenkins为jenkins REST API安装python包装器。然后使用下面的python脚本来运行你的工作。

#!/usr/bin/python
import jenkins
jenkins_url = "http://your_jenkins_server_url/"
username = "youruserid"
token = "yourToken"
j = jenkins.Jenkins(jenkins_url, username=username, password=token)

if __name__ == "__main__":
    fp = open("your_jobs_lists.txt", "r")
    alllines = fp.readlines()
    for jobname in alllines:
        jobname = jobname.strip('\n')
        j.build_job(jobname,{'param1': 'test value 1', 'param2': 'test value 2'},{'token': token})            
        time.sleep(3)
    print "Done!"

对于那些不知道在哪里找到令牌的人,请按以下方式进行:

  

登录jenkins - >点击网页顶部的用户ID - >   配置 - >显示API令牌...

享受它。