Удаленное выполнение заданий Hudson - PullRequest
1 голос
/ 11 октября 2011

Я пытаюсь автоматизировать Хадсон, удаляя соответствующие URL-адреса удаленно.Я использую urllib2 Python для того же.

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

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

http://tomcaturl:8080/hudson/job/.NET%20Build/build

Однако это возвращает мне html-данные.

Документы Hudson говорят, что я могу получать данные в формате python / json / xml, поэтому я пытаюсьнажмите

http://tomcaturl:8080/hudson/job/.NET%20Build/build/api/json

Но я вообще не получаю данных, хотя сборка происходит успешно.

Есть ли способ узнать, какая сборка была запущена моим пультомзапрос на сборку, чтобы я мог поддерживать сопоставление «один к одному».

Обратите внимание, что я делаю это через удаленную программу на python, и у меня нет доступа к hudson GUI.

1 Ответ

3 голосов
/ 11 октября 2011

Прежде всего, если у вас включена какая-либо защита / вход в систему, вы должны войти на удаленный сервер hudson для / job / JobName / build.Если вы разрешите запуск сборки без входа в систему, это не проблема.

Запрос / job / JobName / build вернет html-данные.Если вы не вошли в систему, вы получите ответ, перенаправляющий на страницу входа в систему, и сборка не будет начата.Если запрос выполнен успешно, вы не получите перенаправление на логин и можете предположить, что сборка была поставлена ​​в очередь.Вы также можете проверить очередь сборки, используя api url проекта (см. Ниже).Обратите внимание, что перед запуском сборки может возникнуть задержка, которой вы можете управлять, вызвав / job / JobName / build? Delay = 0sec

API недоступен в URL-адресе job / JobName / build, ноВы можете увидеть информацию об API здесь:

http://tomcaturl:8080/hudson/job/.NET%20Build/api

Большинство страниц в hudson, которые показывают информацию (о проекте, конкретной сборке и т. д.), имеют страницу api, если вы добавляете / api/ xml или / api / json до конца URL.Причина, по которой / job / JobName / build не имеет страницы API, заключается просто в том, что она не является URL-адресом информационной страницы.

Пример запросов API:

xml для получения информации оПроект:

http://tomcaturl:8080/hudson/job/.NET%20Build/api/xml

json для получения информации о последней успешной сборке проекта:

http://tomcaturl:8080/hudson/job/.NET%20Build/lastSucessfulBuild/api/json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...