Я использую jenkins rest API для рекурсии через задания, а затем перенастраиваю это. Все методы работают, кроме одного. Он мой код:
def get_server_instance():
jenkins_url = 'xxxx'
#server = Jenkins(jenkins_url, username = '', password = '')
# Connect to instance - username and password are optional
server = jenkins.Jenkins(jenkins_url, username = '', password = '')
return server
def get_job_details():
# Refer Example #1 for definition of function 'get_server_instance'
server = get_server_instance()
for job in server.get_jobs_list():
if job == "GithubMigration":
configuration = server.get_job(job).get_config().encode('utf-8')
#server.reconfig_job(job, configuration)
if server.has_job("GithubMigration"):
server.reconfig_job('GithubMigration', config_xml)
Он получает мой файл configuration.xml, также находит задание, но терпит неудачу на server.reconfig_job('GithubMigration', config_xml) с ошибкой AttributeError: объект Jenkins не имеет атрибута 'reconfig_job'
когда очевидно, что эти функции существуют в API-интерфейсе jenkins rest, и да, я импортирую jenkins из jenkinsapi.jenkins import Jenkins .
Редактировать 1. Я удалил Jenkinsapi и имею только модуль python-jenkins, и теперь он терпит неудачу даже перед тем, как сказать
AttributeError: объект 'module' не имеет атрибута 'Jenkins' для строки : AttributeError: объект 'module' не имеет атрибута 'Jenkins'
Любые идеи?
Редактировать 2:
Я пробовал исключительно API python-jenkins и пробовал их собственный пример, как вы видите здесь http://python-jenkins.readthedocs.org/en/latest/example.html
import jenkins
j = jenkins.Jenkins('http://your_url_here', 'username', 'password')
j.get_jobs()
j.create_job('empty', jenkins.EMPTY_CONFIG_XML)
j.disable_job('empty')
j.copy_job('empty', 'empty_copy')
j.enable_job('empty_copy')
j.reconfig_job('empty_copy', jenkins.RECONFIG_XML)
Даже это не работает в jenkins.Jenkins с ошибкой атрибута в Jenkins - нет модуля.
Я почти уверен, что API сломан.
reconfig_job
? - person Chemik   schedule 02.02.2015get_jobs_list()
иget_job(job)
. Проблема в том, что вы смешиваетеpython-jenkins
иjenkinsapi
(документы здесь). Вы должныimport jenkins
неfrom jenkinsapi.jenkins import Jenkins
. Кстати, вы должны изменить свой пароль, этот замечательный сайт хранит историю редактирования сообщений;) - person Chemik   schedule 03.02.2015pip
(см. документацию) - person Chemik   schedule 04.02.2015print jenkins.__file__
сразу после импорта и проверьте, совпадает ли он с вашим путем установки модуля. Бьюсь об заклад, у вас есть файл jenkins.py в каталоге, где находится ваш скрипт. - person Chemik   schedule 04.02.2015