Python調用Jenkins接口批准/拒絕Pipeline流程


 

 

import jenkins,requests,urllib
jenkins_server_url = 'http://jenkins.jk.com/'
user_id = 'approver'
api_token = '1187e29'
# api_token = 'password'
job_name = '測試賬號管理'
build_id = 220
server=jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)
# print(dir(server))
try:
    #獲取job狀態
    jobinfor = server.get_build_info(job_name,build_id)
    if jobinfor['building'] == True:
        #批准/拒絕任務 
        url = 'http://%s:%s@jenkins.jk.com/job/%s/%s/input/Inputap/abort' % (user_id,api_token,job_name,build_id) #UserInput返回非True和None,表示拒絕  此處Inpputap的ID名稱,首字母必須大寫
        url = 'http://%s:%s@jenkins.jk.com/job/%s/%s/input/Inputap/proceedEmpty' % (user_id,api_token,job_name,build_id) #UserInput返回None,表示批准
        # url = 'http://%s:%s@autoit.xin.com/job/%s/%s/wfapi/pendingInputActions' % (user_id,api_token,job_name,build_id)
        # # url = 'http://%s:%s@autoit.xin.com/job/%s/%s/wfapi/runs' % (user_id,api_token,job_name,build_id)

        postdata={"inputId":"Inputap","json":'{}',"proceed":"同意"} #input定義: id: 'inputap', ok:"同意"
        postdata = urllib.parse.urlencode(postdata) #對特殊符號和中文編碼為URL字符
        url = 'http://%s:%s@jenkins.jk.com/job/%s/%s/wfapi/inputSubmit?%s' % (user_id,api_token,job_name,build_id,postdata) #UserInput返回True,表示批准
        print(url)
        m=requests.post(url)

        print(m.reason)
        print(m.ok)
except Exception as ee:    
    print(ee)

 

 

 

import jenkins,requests
jenkins_server_url = 'http://jenkins.jk.com/'
user_id = 'approver'
api_token = 'abccd12187'
# api_token = 'password'
job_name = '測試賬號管理'
build_id = 206
server=jenkins.Jenkins(jenkins_server_url, username=user_id, password=api_token)
# print(dir(server))
try:
    #獲取job狀態
    jobinfor = server.get_build_info(job_name,build_id)
    print(jobinfor['result'],jobinfor['building'])
    if jobinfor['building'] == True:
        #批准/拒絕任務
        url = 'http://%s:%s@jenkins.jk.com/job/%s/%s/input/Inputap/abort' % (user_id,api_token,job_name,build_id) #UserInput返回非True和None 此處Inpputap的ID名稱,首字母必須大寫 # url = 'http://%s:%s@jenkins.jk.com/job/%s/%s/input/Inputap/proceedEmpty' % (user_id,api_token,job_name,build_id) #UserInput返回None
        print(url)
        m=requests.post(url)
        print(m.reason)
        print(m.ok)
except Exception as ee:    
    print(ee)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM