我想在这里得到一些有经验的建议...
我想接受作业名称列表(逗号或空格分隔的字符串)作为参数。
Jenkins 需要将它们构建为一个链,一个接一个,按照它们输入的顺序(我在触发它们之前验证列表)。列表长度未知。
请提出可能的解决方案(我正在考虑 groovy 脚本、带有 curl 和 Jason 调用的 shell 或者可能是 python)。
欢迎任何建议!
首先,将您的工作列表放在 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 令牌...
好好享受。