2015-07-30 5 views
0

Я хочу, чтобы вызвать Компоновка в Дженкинс через питона-Дженкинса package.I использовал код ниже для test_api работы, но это не working.How я могу построить через скрипт ..Строить работу в Дженкинс через питон скрипт

import jenkins 
j = jenkins.Jenkins('http://your_url_here', 'username', 'password') 
print j.get_jobs() 
url=j.build_job_url('test_api', parameters=None, token=None) 
print url 
last_build_number = j.get_job_info('test_api')['lastCompletedBuild'] ['number'] 
print "last_build_number",last_build_number 
build_info=j.get_build_info('test_api',last_build_number) 
if build_info['result']=='SUCCESS': 
    print " Build Success " 
else: 
    print " Build Failed " 
    log=j.get_build_console_output('test_api',last_build_number) 
    f=open('log_buildFail.txt','w') 
    f.write(log) 
    f.close() 

Он возвращает путь сборки сборки после сборки.

ответ

2

Я использую метод build_job, чтобы вызвать работу, и это работает для меня.

build_job(name, parameters=None, token=None) 
    Trigger build job. 

    Parameters: 
    name – name of job 
    parameters – parameters for job, or None, dict 
    token – Jenkins API token 

Вот пример моего:

#!/usr/bin/python 
# coding: utf-8 
import jenkins 
ci_jenkins_url = "http://my-jenkins-url/" 
username = "foo" 
token = "fa818f4f90621a4e69de563516098689" 
job = "test-job" 
j = jenkins.Jenkins(ci_jenkins_url, username=username, password=token) 

if __name__ == "__main__": 
     j.build_job(job, {'token': token}) 

Вы можете получить маркер из http://my-jenkins-url/user/foo/configure, а затем нажмите show API Token....
Для тех, кто новичок в Jenkins Python API, , пожалуйста, обратитесь к Jenkins Python API Link.

+0

Я использовал build_job вместо build_job_url, но при проверке в jenkins build не запускается. – Chandra

+0

Есть ли что-нибудь, что нужно настроить в Jenkins, как токен API Jenkins, для Trigger Build. – Chandra

+0

Я получаю следующую ошибку с токеном jenkins: «Traceback (последний последний звонок): Файл« C: /Python27/Jenkins_Build.py », строка 33, в url = j.build_job ('test_job', { 'маркер': '8f2f933f9602fcd7cd9a4970bde6cd5c'}) Файл "C: \ python27 \ Lib \ сайт-пакеты \ Дженкинс \ __ init__.py", строка 456, в build_job self.build_job_url (имя, параметры, маркер))) файла «C: \ Python27 \ lib \ site-packages \ jenkins \ __ init__.py», строка 218, в jenkins_open «Возможно, аутентификация не удалась [% s]»% (e.code) JenkinsException: ошибка в запросе. Ошибка аутентификации [500] ' – Chandra

Смежные вопросы