查询所有项目:
http://10.11.9.110:8888/api/v4/projects
查询指定项目(显示的pid用来查询job):
http://10.11.9.110:8888/api/v4/projects?search=demoproject
查询成功的job(会显示所有的jobid):
http://10.11.9.110:8888/api/v4/projects/{pid}/jobs?scope[]=success
下载最新的zip:
http://10.11.9.110:8888/api/v4/projects/{pid}/jobs/{jobid}/artifacts
python代码:
get_id_cmd = ''' curl --globoff --header "PRIVATE-TOKEN: 6mRKuhkChe5XYjeyGos6" "http://10.11.9.110:8888/api/v4/projects?search=comp" '''
get_id_cmd = get_id_cmd.replace("comp", gitName)
result = json.loads(os.popen(get_id_cmd).read())
pid = -1
if len(result) == 0:
print("download error")
return False
pid = result[0]['id']
print("get "+compName+" id: "+str(pid))
get_job_cmd = ''' curl --globoff --header "PRIVATE-TOKEN: 6mRKuhkChe5XYjeyGos6" "http://10.11.9.110:8888/api/v4/projects/pid/jobs?scope[]=success" '''
get_job_cmd = get_job_cmd.replace("pid",str(pid))
result = json.loads(os.popen(get_job_cmd).read())
jobid = -1
if len(result) == 0:
print("download error")
return False
os.system('rm -rf artifacts && rm -f artifacts.zip')
jobid = result[0]['id']
get_artifact_cmd = ''' curl --output artifacts.zip --header "PRIVATE-TOKEN: 6mRKuhkChe5XYjeyGos6" "http://10.11.9.110:8888/api/v4/projects/pid/jobs/jobnum/artifacts" '''
get_artifact_cmd = get_artifact_cmd.replace("pid",str(pid))
get_artifact_cmd = get_artifact_cmd.replace("jobnum",str(jobid))
os.system(get_artifact_cmd)
#os.system('unzip artifacts.zip && rm -f *.zip')
print("#####################download finish#####################")