zoukankan      html  css  js  c++  java
  • python操作jenkins、python-jenkins api

    Jenkins作为最流行的自动化流程的核心工具,我们使用它自带的web-ui完全可以满足日常的构建及发布工作,但是如果需要和其他系统做集成就必须二次开发或者通过API方式进行交互了。

    Jenkins介绍及相关

    python版本的API调用
    目前python版本的API主要有两个第三方包

    1. JenkinsApi

    github地址
    官方文档

    2. Python-Jenkins

    github地址
    官方文档

    这里写下关于python-jenkins的一些api
    3. python-jenkins API示例

    from jenkins import Jenkins
    
    
    # 创建 Jenkins实例的 handle
    jen = Jenkins(url="http://xxxxx.com", username="root", password="password")
    
    job_name = "jenkins_test"
    
    # 返回job的个数
    jen.jobs_count()
    
    # 返回所有的job,列表格式
    jen.get_jobs()
    jen.get_all_jobs()
    
    # 返回job信息,字典格式
    jen.get_job_info(name=job_name)
    
    # 返回名字匹配的job的信息,列表格式
    pattern = "^jen"
    jen.get_job_info_regex(pattern=pattern)
    
    # 返回job信息,易阅读的格式
    jen.debug_job_info(job_name=job_name)
    
    # 返回 HTTP 响应体 ,字符串形式
    url = "http://148.70.212.152:9090/job/2048test/"
    jen.jenkins_open(req=url)
    
    # 返回第n次构建信息,字典格式
    n = 1
    jen.get_build_info(name=job_name, number=n)
    
    # 返回第n次构建环境变量
    jen.get_build_env_vars(name=job_name, number=n)
    
    # 返回第n次测试报告
    jen.get_build_test_report(name=job_name, number=n)
    
    # 返回所以job信息字典,字典格式
    jen.get_queue_info()
    
    # 取消队列中的某个构建
    jen.cancel_queue(id=n)
    
    # 返回当前用户账号信息, 字典格式
    jen.get_whoami()
    
    # 返回版本信息, 字符串格式
    jen.get_version()
    
    # 返回所有已安装的插件信息,列表格式
    jen.get_plugins()
    
    # 返回某个插件的信息,字典格式
    jen.get_plugin_info(name="插件名字")
    
    # 复制一个jenkins任务
    new_name = "new_job"
    jen.copy_job(from_name=job_name, to_name=new_name)
    
    # 重命名一个job
    jen.rename_job(from_name=job_name, to_name=new_name)
    
    # 删除一个job
    jen.delete_job(name=job_name)
    
    # 启用一个job
    jen.enable_job(name=job_name)
    
    # 禁止一个job
    jen.disable_job(name=job_name)
    
    # 设置下次构建的序号
    jen.set_next_build_number(name=job_name, number=n)
    
    # 判断job是否存在
    jen.job_exists(name=job_name)
    
    # 创建一个job
    jen.create_job(name=job_name, config_xml="配置信息xml字符串格式")
    
    # 获取job的配置
    jen.get_job_config(name=job_name)
    
    # 重新配置Job
    jen.reconfig_job(name=job_name, config_xml="配置信息xml字符串格式")
    
    # 出发构建job
    parameters = "参数,默认为None"
    jen.build_job(name=job_name, parameters=None)
    
    # 安装插件
    jen.install_plugin(name="插件名字")
    
    # 停止正在运行的jenkins构建
    jen.stop_build(name=job_name, number=n)
    
    # 删除构建
    jen.delete_build(name=job_name, number=n)
    
    # 获取正在运行的构建
    jen.get_running_builds()
    
    
    
    
    
    

    其他关于node,view的方法请见官网:https://python-jenkins.readthedocs.io/en/latest/api.html

  • 相关阅读:
    [读书笔记]-大话数据结构-4-栈与队列(二)-队列
    [读书笔记]-大话数据结构-4-栈与队列(一)-栈、共享栈和链栈
    [读书笔记]-大话数据结构-3-线性表(二)-线性表的链式存储
    [读书笔记]-大话数据结构-3-线性表(一)-线性表的顺序存储
    [读书笔记]-大话数据结构-2-算法
    [读书笔记]-大话数据结构-1-数据结构绪论
    Linux Shell脚本教程:30分钟玩转Shell脚本编程(笔记)
    scikit-learn学习
    xampp启动遇到的小问题
    选项卡小结
  • 原文地址:https://www.cnblogs.com/ChangAn223/p/11301173.html
Copyright © 2011-2022 走看看