专栏首页一日一工具[Jenkins]5分钟系列之七Jenkins API简单介绍

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

文档版本

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的描述

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模块的信息

pip list --outdated --format=legacy |awk '{print $1}'

3.2、简单使用

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

3.2.1、列出所有插件

#!/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

>>> 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

本文分享自微信公众号 - 追马Linux(zhuima_k8s),作者:追马

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-26

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从零打造自己的CI/CD系统|端口检测

    在CI/CD过程中,有的应用(java/python/golang)等服务对外暴露的端口的存活标示这项目的存活状态(端口存活并不意味这服务可用),在进行CI/C...

    追马
  • Intro Guide to Dockerfile Best Practices

    There are over one million Dockerfiles on GitHub today, but not all Dockerfiles ...

    追马
  • K8S之CronJob尝试(参考别人的Demo)

    有些服务部署的时候有跑 crontab 的需求,刚开始的时候是 application 部署在 K8S 集群上,然后另开 ECS 机器跑cron, 然后两个 t...

    追马
  • 在 Kubernetes 上使用 Jenkins

    有几种方法可以在 DevOps 环境中管理您的云基础架构。DevOps 是一种鼓励快速流动的应用程序开发以及促进 IT 团队开发、测试、发布过程无缝无缝衔接的方...

    LinuxSuRen
  • 在 Kubernetes 上使用 Jenkins

    有几种方法可以在 DevOps 环境中管理您的云基础架构。DevOps 是一种鼓励快速流动的应用程序开发以及促进 IT 团队开发、测试、发布过程无缝无缝衔接的方...

    kubernetes中文社区
  • Jenkins实战(二):Jenkins各项配置选项

    从正式使用Jenkins之前,将会逐步接触到Jenkins的各种配置,通过各种配置来完成各项不同的工作。本文将简单介绍一下Jenkins中的各项配置选项,以便后...

    xcbeyond
  • 看,我都不用手动配置

    Jenkins 非常灵活,如今已成为实现 CI/CD 的事实标准,同时拥有一个活跃的社区来维护几乎所有工具和用例的插件。但是灵活也是要付出代价的:除了 Jenk...

    LinuxSuRen
  • 在线商城项目01-项目初始化简介

    会有如下图所示命令提示,一路默认即可。这里值得一说的的是eslint,我选择了standard,这点并不是强制的。你可以选择不使用eslint,也可以使用Sta...

    love丁酥酥
  • Prometheus监控Jenkins

    在Jenkins上安装插件,使Jenkins能够暴露指标给Prometheus收集,这个插件名称叫Prometheus metrics

    山山仙人
  • 使用单一卷积网实时进行端到端3D检测,跟踪和运动预测

    http://openaccess.thecvf.com/content_cvpr_2018/CameraReady/3013.pdf

    点云PCL博主

扫码关注云+社区

领取腾讯云代金券