[Jenkins]5分钟系列之七Jenkins API简单介绍

2020-07-03 10:11:20 浏览数 (1)

文档版本

v 1.0

更新日期

2017.12.26

作者

追马

扩散范围

全网

  • 一、准备工作
  • 1.1、环境准备
  • 1.2、推荐阅读
  • 二、Jenkins API介绍
  • 2.1、关于Jenkins API
  • 2.2、通过Jenkins API我们能做什么?
  • 三、基于python的Jenkins API简单使用[本文选用的是Python-Jenkins]
  • 3.1、基于python的Jenkins API的选择
  • 3.2、简单使用
  • 四、参考文档
  • 五、下期预告

阅读本文能学到的知识点

  • 了解Jenkins的API
  • 基于python的Jenkins API的简单使用演示

一、准备工作 1.1、环境准备 软件版本功能jenkins2.95提供平台python2.6 提供平台python0.4.14提供平台1.2、推荐阅读 分分钟部署安装jenkins 二、Jenkins API介绍 2.1、关于Jenkins API 2.1.1、关于Jenkins api的描述

代码语言:javascript复制
Jenkins provides machine-consumable remote access API to its functionalities. Currently it comes in three flavors:
XML
JSON with JSONP support
Python

2.2、通过Jenkins API我们能做什么?

  • 实现对Jenkins的增删改查操作
  • 实现批量创建job
  • 和第三方工具联动操作
  • 自动化(虽然有装逼的嫌疑~)

三、基于python的Jenkins API简单使用[本文选用的是Python-Jenkins] 3.1、基于python的Jenkins API的选择 3.1.1、官方给出的两个python的库

  • Python-Jenkins [后续文章都是使用这个来讲解]
  • JenkinsAPI

2.1.2、获取机器上安装python模块的信息

代码语言:javascript复制
pip list --outdated --format=legacy |awk '{print $1}'

3.2、简单使用

  • 如果你不熟悉python, go,使用curl同样能达到你的需求
  • 推荐python的库httpie, 你值得拥有

3.2.1、列出所有插件

代码语言:javascript复制
#!/usr/bin/env python# -*- coding: utf-8 -*-# Author: zhuima# zhuima @ 2017-12-21 19:09:22# Function:-

"""
pip install python-jenkins==0.4.14
"""

import jenkins
jks = jenkins.Jenkins('http://zhuima.just.me:8080',username='zhuima',password='zhuima')

for plugin in jks.get_plugins_info(depth=2):        
    print "DisplayName: {0: <60} | ShortName: {1: <30} | Version: {2: <30}".format(plugin.get('longName'), plugin.get('shortName'), plugin.get('version'))

3.2.2、如何获取xml

代码语言:javascript复制
>>> import jenkins
>>> server = jenkins.Jenkins('http://zhuima.just.me:8080', username='zhuima', password='zhuima')# 展示pipeline_demo项目的xml内容

>>> print server.get_job_config("pipeline_demo")

四、参考文档 Python-Jenkins: https://goo.gl/wB7LZn JenkinsAPI: https://goo.gl/9Q6uXn 五、下期预告

  • 如何快速批量创建job

0 人点赞