#!/usr/bin/python
import sys, time
import shutil, commands
#coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import jenkins

config_file = 'jenkins_list.txt'
jenkins_url='http://qc-xxx.xxxx.com/'
user_name='user'
pass_word='password'
server = jenkins.Jenkins(jenkins_url, username=user_name, password=pass_word)
temp_job_name='saas-kf-aal-online'
tem_xml_file='tem.xml'

#print server.get_whoami()

#server.copy_job("xx-xx-xx-online", "xx-xx-copy-xxx-online")
#print server.get_job_info("saas-kf-copy-aal-online", depth=2, fetch_all_builds=True)
#print server.get_job_config("saas-kf-copy-aal-online")
#with open('aa.xml', 'r') as xml_file:
# config_data = xml_file.read()
#server.reconfig_job("saas-kf-copy-aal-online",config_data)

def commands_shell(cmd):
(status, output) = commands.getstatusoutput(cmd)
print status, output
return status, output

file = open(config_file)

while 1:
line = file.readline()
if not line:
break
line_str = line.split(',')
job_name = line_str[0].strip()
git_url = line_str[1].strip()
target_dir = line_str[2].strip()
job_name_xml='job_name/' + job_name + '.xml'
print job_name,git_url
##copy tem file
shutil.copy(tem_xml_file, job_name_xml)
cmd = "sed -i 's#TMPGITURL#%s#g' %s" % (git_url, job_name_xml)
print cmd
ret = commands_shell(cmd)

print ret
cmd = "sed -i 's#TARGET_DIR#%s#g' %s" % (target_dir, job_name_xml)

ret = commands_shell(cmd)
print ret

config_data = ''
with open(job_name_xml, 'r') as xml_file:
config_data = xml_file.read()
#server.reconfig_job("saas-kf-copytests-aal-online",config_data)
server.create_job(job_name, config_data)

file.close()

python jenkins api的更多相关文章

  1. 利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解

    本文转载自利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解 导语 由于最近工作需要利用 Jenkins 远程 API 操作 Jenkins 来完成一些列操作,就抽空研究 ...

  2. 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api

    目前正在使用asp.net core 2.0 (主要是web api)做一个项目, 其中一部分功能需要使用js客户端调用python的pandas, 所以需要建立一个python 的 rest api ...

  3. shell中调用jenkins API批量运行历史任务

    shell中调用jenkins API批量运行jenkins带参数的任务: #!/bin/sh #startdate=20150127 startdate=20150201 while [ " ...

  4. Python DB API 连接数据库

    Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源.

  5. Python调用API接口的几种方式 数据库 脚本

    Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...

  6. Python调用API接口的几种方式

    Python调用API接口的几种方式 相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍py ...

  7. Python Elasticsearch api,组合过滤器,term过滤器,正则查询 ,match查询,获取最近一小时的数据

    Python Elasticsearch api   描述:ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.下 ...

  8. python3 jenkins api操作

    一.安装依赖包 pip install python-jenkins 二.常用操作 0.调用jenkins(以下用的server都是这里的环境) import jenkins server = jen ...

  9. 如何用 Python 和 API 收集与分析网络数据?

    摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希 ...

随机推荐

  1. json工具类(三)——net包

    package com.ruoyi.common.utils.json; import java.util.List; import java.util.Map; import net.sf.json ...

  2. MVC+Ninject+三层架构+代码生成 -- 总结(五、Ninject)

    1.在寫邏輯層前,需要弄好反轉控制,因框架沒有寫接口,所以Ninject只負責返回當前實例,有點類似共享設計模式. public sealed class IOCHelper { private st ...

  3. BAT: 获取时间有空格问题

    最近在项目上需要把文件定时备份,用BAT文件来自动生成文件夹名,精确到秒: bat脚本时间设定如下: pushd E:\Test set T=%date:~0,10%-%time:~0,2%%time ...

  4. ASP.NET MVC EF 连接数据库(二)-----Model First

    Model first (VS2015 ,Sql Server2014) 新建MVC项目     右键product ,新增标量属性(数据库表中的字段)   Ctrl + S 保存页面,右键“根据模型 ...

  5. 理解了quote和 symbol-list的 关系

    'x   ===  (quote x) '(x) ===  (list 'x)

  6. Laravel是怎样防止你的定时任务重复执行的

    基本介绍 有时候一个定时任务执行需要的时间可能会比我们想象的要长,这就会引起一个问题——当前任务还没有执行完毕的时候另一个相同的任务也会执行,从而导致任务重复.例如想象一下我们执行每分钟生成一次报告的 ...

  7. 基于vue+springboot+docker网站搭建【五】部署vue前端项目

    部署vue前端项目  一.下载项目到本地   https://github.com/macrozheng/mall-admin-web 二.npm install 三.修改api配置,改为你接下来要部 ...

  8. python调用腾讯云短信接口

    目录 python调用腾讯云短信接口 账号注册 python中封装腾讯云短信接口 python调用腾讯云短信接口 账号注册 去腾讯云官网注册一个腾讯云账号,通过实名认证 然后开通短信服务,创建短信应用 ...

  9. 本地eyoucms搬家

    1.后台数据备份 2.删除install 里面的install.lock 3.清理缓存文件 data - runtime-删除所有文件: 4.项目中的文件全部压缩 即打包完毕:最后再把打包的文件放置到 ...

  10. APS助众生药业突破运营管理瓶颈

    众生药业一直致力于为了世界提供世界级的产品及服务,成立以来公司先后实施了ERP系统,CRM系统,WMS系统,OA系统,精益生产,朝着行业信息化水平领先的目标迈进. 但近年随着业务量的不断扩大,仅仅拥有 ...