0
点赞
收藏
分享

微信扫一扫

git查询任务

路西法阁下 2022-02-18 阅读 5

查询所有项目:
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#####################")
举报

相关推荐

0 条评论