随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

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)
复制代码

 

posted on   momingliu11  阅读(721)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2014-11-10 将数组转换为字符串
2013-11-10 Windows性能计数器2
2013-11-10 Windows性能计数器
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示