安装python-jenkins
1.pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pbr # python-jenkins依赖pbr,multi_key_dict
  pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple multi_key_dict
2.下载python-jenkins-1.3.0.tar.gz 3.python setup.py install



使用python-jenkins
import jenkins
url = 'xxxxx:8080'
username = 'xxxxx'
password = 'xxxxx'

params = {'Branch': 'origin/master', 'host': '192.168.1.1'} # 构建参数
# 创建jenkins对象
server = jenkins.Jenkins(url=url,username=username,password=password)


#user = server.get_whoami()
#version = server.get_version()


###############job CRUD###############
#print(server.job_exists('hyh-test'))

# 获取所有的job
#print(server.get_jobs())

# 创建job
#server.create_job('hyh-test',jenkins.EMPTY_CONFIG_XML)

# 删除job
#server.delete_job('hyh-test')

# 复制job
#server.copy_job('hyh-test','hyh-test1') # hyh-test是源,hyh-test1是目标
#server.copy_job('job-name','hyh-test')

# enable job
#server.enable_job('hyh-test')

# 禁用job
#server.disable_job('hyh-test')

# 重命名job
#server.rename_job('hyh-test','hyh-test1')

# 重新配置Job
config_file = """

  
  
  false
  
    
      gitlab
    
    
      
        -1
        5
        -1
        -1
      
    
    
      
        
          br
          选择要发布的TAG或分支
          3100f068-f987-4f6f-82f7-aaa4807cda9b
          PT_BRANCH_TAG
          
          *
          .*
          ASCENDING
          origin/develop
          DEFAULT
          true
        
        
          hosts
          选择发布的机器名称
          
            
              gamma-product-center
            
          
        
      
    
  
  
    2
    
      
        git@xxxx
        deploy2
      
    
    
      
        ${br}
      
    
    false
    
    
  
  true
  false
  false
  false
  
  false
  
    
      clean deploy  -Dmaven.test.skip=true
      false
      
      
      false
    
    
      #!/bin/bash

echo 发布的Tag或分支:"$br"
echo 发布的主机:"${hosts}"

/bin/sh /data/jenkins/shell/publish.sh
    
  
  
  

"""
server.reconfig_job('hyh-test', config_xml=config_file) # config_xml必须是html格式的字符串

# 获取job配置
#my_job = server.get_job_config('hyh-test') 获取的my_obj是html格式的字符串
#print(my_job)

# 触发job(方式一)
#server.build_job_url('hyh-test',parameters=params)

## 触发job(方式二)
#server.build_job('hyh-test',parameters=params)

# 查看输出
#last_build_number = server.get_job_info('job-name')['lastCompletedBuild']['number'] # 获取构建编号
#print(server.get_build_console_output('job-name', last_build_number))

# 查看最后一次构建的job信息
# last_build_number = server.get_job_info('job-name')['lastCompletedBuild']['number']
# print(last_build_number)
# build_info = server.get_build_info('job-name', last_build_number)
# print(build_info)
####################################