专栏首页python3python调用jenkinsAPI

python调用jenkinsAPI

一、概述

在工作中我们会有直接想通过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,构建时,不需要任何参数。

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页面,此时会有提示,等待几秒构建。

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

构建参数化job

 再来看另外一个参数化job

点击Build with Parameters

注意:这里有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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Jenkins-slave分布式跨网络发布

    Jenkins的Master-Slave分布式架构主要是为了解决Jenkins单点构建任务多、负载较高、性能不足的场景。Master-Slave相当于Serve...

    py3study
  • python通用论坛正文提取\pytho

    首先因为网站很多是动态的,直接用bs4是获取不到有些信息的,所以我们使用selenium和phantomjs将文件保存在本地,然后再处理。

    py3study
  • 学习python的第三天(变量)

    2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬间)

    py3study
  • [PHP]算法-二进制中1的个数的PHP实现

    陶士涵
  • Docker_容器化jenkins

    3:创建一个jenkins目录  mkdir /home/jenkins_home

    飞天小子
  • 【读图】为什么女人对“买买买”更把持不住?

    有人说:“娶对了败家娘们,天天都过双11!”辣么,为啥妹纸们对购物更把持不住?难道可爱的男孩纸就不爱买东西了?实际上不仅是中国,在全球商家眼中最乐于见到的也是女...

    小莹莹
  • 选型宝访谈:怎样构建端到端的IT透视能力?

    ...

    选型宝
  • Android开发中遇到的那些坑

    子勰
  • Facebook的人工智能从视频片段中学习物理位置之间的关系

    计算机视觉系统通常擅长探测物体,但却很难理解这些物体所处的环境。这是因为它们会将观察到的动作与物理环境分开——即使是那些做了模型环境的动作,也无法区分与动作相关...

    AiTechYun
  • RabbitMQ Shovel

    Shovel能够可靠、持续地从一个Broker中的队列(作为源端,即source)拉取数据并转发至另一个Broker中的交换器(作为目的端,即destinati...

    shysh95

扫码关注云+社区

领取腾讯云代金券