python调用jenkinsAPI

发布时间:2020-07-03 14:14:39编辑:admin阅读(3126)

    一、概述

    在工作中我们会有直接想通过http方式运行Jenkins job的需求,这样就不需要每次都进入JENKINS的页面了。

     

    二、安装python-jenkins

    pip3 install python-jenkins

    基本用法:

    import jenkins
    # 登录jenkins
    server = jenkins.Jenkins('http://192.168.59.149:8080', username='jenkins', password='jenkins@!23')
    # 构建普通job
    server.build_job('jxInstantQuery')
    # 构建参数化job
    server.build_job('jxInstantQuery2', {'param1': 'aaa', 'param2': 'bbb'})

     

    三、项目演示

    本文采用 Jenkins 2.222.4,ip地址为:10.212.82.86

    构建普通job

    这里有一个普通job,构建时,不需要任何参数。

    1.png

     

    python代码如下:

    jenkins_build.py

    import jenkins
    server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
    server.build_job('test')

    执行代码

    python3 jenkins_build.py

     

    查看jenkins页面,此时会有提示,等待几秒构建。

    1.png

     

    等待几分钟,就会构建成功。

    构建参数化job

     再来看另外一个参数化job

    点击Build with Parameters

    1.png

     

    1.png

    注意:这里有2个参数。其中发布时,是不需要填写BUILD_ID的。只有回滚时,才需要BUILD_ID。

     

    发布

    jenkins_build.py

    import jenkins
    server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
    server.build_job('test_admin', {'Status': 'Deploy', 'BUILD_ID': ''})

    回滚

    jenkins_build.py

    import jenkins
    server = jenkins.Jenkins('http://10.212.82.86:8080', username='admin', password='admin')
    server.build_job('test_admin', {'Status': 'Rollback', 'BUILD_ID': '26'})
    注意,这里的BUILD_ID,指的是jenkins job构建id。

     

     

    本文参考链接:

    https://www.cnblogs.com/goldenSky/p/10736392.html


关键字