这里用到了Jenkins的Python Module,所以先安装模块pip install python-jenkins
。
废话少说。
# coding:utf-8
import jenkins
def build_job_by_view(jenkins_server:jenkins.Jenkins,view_name:str):
jobs = jenkins_server.get_jobs(view_name=view_name)
for job in jobs:
job_info = jenkins_server.get_job_info(name=job.get('name'))
if 'com.cloudbees.hudson.plugins.folder.Folder' == job_info.get('_class'):
folder_jobs = job_info.get('jobs')
for folder_job in folder_jobs:
full_jobname = job_info.get('fullName') +'/' +folder_job.get('name')
print('building :',full_jobname)
jenkins_server.build_job(name=full_jobname,parameters={'BRANCH':'dev','TEST':True})
else:
print('building :',job_info.get('fullName'))
jenkins_server.build_job(name=job_info.get('fullName'),parameters={'BRANCH':'dev','TEST':True})
if __name__ == '__main__':
views_list = ["view_nmae_1","view_name_2"]
j_server = jenkins.Jenkins(url='http://jeknins.example.com:8080',username='username',password='password')
for v in views_list:
build_job_by_view(j_server,view_name=v)