美文网首页Jenkins社区
Python远程访问jenkins API

Python远程访问jenkins API

作者: 一叶一声秋 | 来源:发表于2018-10-29 17:38 被阅读52次

    Jenkins具有远程访问API的功能,可以支持python\Ruby\Java等,本文着重介绍python的方式,其他方式请移步https://wiki.jenkins.io/display/JENKINS/Remote+access+API

    目前开发的python库有两个,JenkinsAPIPython-Jenkins,这两个库的功能都差不多,本文将介绍前者的使用。

    1 开通jenkins高级权限的帐号

    要使用remote API功能,第一步必须先在jenkins注册帐号密码,并且具有对应的权限。假设注册的高级用户名为admin,密码为test1234

    2 关闭防止跨站点请求伪造

    重要:jenkins服务器默认是开启防止跨站点请求伪造的,因此需要先将其关闭,否则会出现403错误反馈码或则类似以下信息的反馈

    HTTP ERROR 403
    No valid crumb was included in the request
    

    关闭的方法:
    jenkins主界面 --- 系统管理 --- 全局安全配置 --- 跨站请求伪造保护 下
    勾掉“防止跨站点请求伪造”
    应用并保存


    image.png

    3 安装jenkinsapi

    使用pip安装

    pip install jenkinsapi
    

    4 使用jenkinsapi

    连接jenkins

    username = 'admin'
    password = 'test1234'
    jenkins = Jenkins('http://localhost:8888', username=username, password=password)
    

    获取当前的job列表

    jenkins.keys()
    

    获取某个job的构建情况

    job=jenkins.get_job(jobName)
    build=job.get_last_completed_build()
    #构建号
    print(build.buildno)
    # url
    print(buil.baseurl)
    # 构建结果
    data=build.__dict__['_data']
    result=data['result']
    #构建时长
    duration=data['duration']
    ...
    
    
    

    获取job的配置

    config =jenkins[jobName].get_config()
    

    job构建

    jenkins.build_job(jobName, params)
    

    相关文章

      网友评论

        本文标题:Python远程访问jenkins API

        本文链接:https://www.haomeiwen.com/subject/iywbtqtx.html