查看Jenkins版本
import jenkins
server = jenkins.Jenkins('http://192.168.2.130:8080', username='Administrator', password='123456')
user = server.get_whoami()
version = server.get_version()
print('Hello %s from Jenkins %s' % (user['fullName'], version))
登录Jenkins使用Kerberos
import jenkins
server = jenkins.Jenkins('http://192.168.2.130:8080')
print server.jobs_count()
使用Jenkins jobs(创建、配置、删除jobs)
server.create_job('empty', jenkins.EMPTY_CONFIG_XML)
jobs = server.get_jobs()
print jobs
my_job = server.get_job_config('cool-job')
print(my_job) # prints XML configuration
server.build_job('empty')
server.disable_job('empty')
server.copy_job('empty', 'empty_copy')
server.enable_job('empty_copy')
server.reconfig_job('empty_copy', jenkins.RECONFIG_XML)
server.delete_job('empty')
server.delete_job('empty_copy')
# build a parameterized job
# requires creating and configuring the api-test job to accept 'param1' & 'param2'
server.build_job('api-test', {'param1': 'test value 1', 'param2': 'test value 2'})
last_build_number = server.get_job_info('api-test')['lastCompletedBuild']['number']
build_info = server.get_build_info('api-test', last_build_number)
print build_info
# get all jobs from the specific view
jobs = server.get_jobs(view_name='View Name')
print jobs
等待Jenkins做好准备
可以要求API等待Jenkins准备好给定的超时时间。 这可以用于帮助启动Jenkins,然后等待REST API响应,然后再继续配置。
# timeout here is the socket connection timeout, for each connection
# attempt it will wait at most 5 seconds before assuming there is
# nothing listening. Useful where firewalls may black hole connections.
server = jenkins.Jenkins(‘http://localhost:8080‘, timeout=5)
# wait for at least 30 seconds for Jenkins to be ready if server.wait_for_normal_op(30):
# actions once running ...
else:
print(“Jenkins failed to be ready in sufficient time”) exit 2