2015-01-07 4 views
2

Я пытаюсь создать кучу вложенных представлений в Jenkins, используя Python и jenkinsapi.Не удалось создать представление в Jenkins с помощью jenkinsapi

код выглядит следующим образом:

jenkins_url = "http://127.0.0.1:8080/" 
api = Jenkins(jenkins_url, 'jenkins_admin', 'jenkins_password') 
logger.info('view_name is %s' %view_name) 
new_view = api.views.create(view_name, Views.NESTED_VIEW) 

Все идет хорошо, если отключить Авторизация и позволить «Любой человек может сделать что-нибудь», но не с аутентификацией пользователя/пароль. Мы используем Active Directory, и пользователь имеет административные привилегии.

Неудача:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1 
DEBUG:requests.packages.urllib3.connectionpool:"GET /api/python **HTTP/1.1" 200 3290** 
INFO:root: view_name is 9.8 
INFO:jenkinsapi.views:Creating "hudson.plugins.nested_view.NestedView" view "9.8" 
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1 
DEBUG:requests.packages.urllib3.connectionpool:"POST /createView **HTTP/1.1" 302 0** 
DEBUG:requests.packages.urllib3.connectionpool:"GET /view/9.8/configure **HTTP/1.1" 401 1445** 
Traceback (most recent call last): 
    File "JenkinsNewVersionJobsItems.py", line 46, in <module> 
    top_view = NewVersionJobsItemsUtils.createView(short_version, api, NESTED) 
    File "/tmp/NewVersionJobsItemsUtils.py", line 35, in createView 
    new_view = parent_view.views.create(view_name, Views.NESTED_VIEW) 
    File "build/bdist.linux-x86_64/egg/jenkinsapi/views.py", line 103, in create 
    File "build/bdist.linux-x86_64/egg/jenkinsapi/utils/requester.py", line 117, in post_and_confirm_status 
jenkinsapi.custom_exceptions.JenkinsAPIException: Operation failed. url=http://127.0.0.1/view/9.8/configure, data={'json': '{"name": "9.8", "mode": "hudson.plugins.nested_view.NestedView"}', 'name': '9.8', 'Submit': 'OK', 'mode': 'hudson.plugins.nested_view.NestedView'}, headers={'Content-Type': 'application/x-www-form-urlencoded'}, status=401, text=<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
<title>**Error 401 Invalid password/token for user: jenkins**</title> 
</head> 
<body><h2>HTTP ERROR 401</h2> 

Я вижу, что прошел аутентификацию, был создан вид, и я был перенаправлен (HTTP 302) на своей странице конфигурации, чем удалось с неправильным паролем ошибки.

После выполнения я вижу вновь созданный вид, запуск сценария снова находит представление, создает следующий и снова с ошибкой с той же ошибкой. Проблема в том, что мне нужно десяток таких просмотров.

Может ли кто-нибудь помочь или указать мне на проблему? Спасибо заранее.

+0

Hi, jenkinsapi сопровождающий здесь. Не могли бы вы открыть проблему на Github (https://github.com/salimfadhley/jenkinsapi)? Просьба также предоставить вам настоящий код, а не только тот, который создает вид сверху. Я не могу воспроизвести эту проблему. – LeChat

ответ

1

Это поведение, если вы пытаетесь создать вложенное представление, но не имеете установленного плагина вложенных представлений. Возможно, это ваша проблема?