как Хадсон генерирует задание config.xml? - PullRequest
1 голос
/ 21 октября 2010

Мне нужна ваша помощь!

Я хочу знать, как Хадсон генерирует файл config.xml задания?

Я объясняю: я хочу добавить в свое приложение инструмент сборки, похожий на hudson, чтобы сделать это, пользователь должен будет, как в GUI Hudson, определить некоторые параметры, такие как path to jdk, где хранится pom.xml и т. д., а затем создается файл config.xml для этого задания.

Как только у меня будет файл config.xml для этой работы, я создам и создам его.

Я пытался найти API Хадсона, но все дело в создании задания, создании, удалении ... но не было способа задать его параметры (персонализировать его). Это пример кода создания:

private void put(HttpClient client, String hudsonBaseURL,String jobName ,File configFile) throws IOException, HttpException {
    PostMethod postMethod = new PostMethod(hudsonBaseURL+ "/createItem?name=" + jobName);
    postMethod.setRequestHeader("Content-type","application/xml; charset=ISO-8859-1");
    postMethod.setRequestBody(new FileInputStream(configFile));
    postMethod.setDoAuthentication(true);
    try {
        int status = client.executeMethod(postMethod);
        System.out.println("Projet existe déjà\n"+status + "\n"+ postMethod.getResponseBodyAsString());
    } finally {
        postMethod.releaseConnection();
    }
}

Этот метод требует config.xml для создания задания.

Сейчас я пытаюсь увидеть содержимое hudson.war внутри его классов, но я должен сказать, что это нелегко.

Хотел бы я быть ясным.

Любая идея приветствуется.

Nacef.

1 Ответ

7 голосов
/ 21 октября 2010

Я рекомендую использовать Удаленный API Хадсона для автоматизации создания работы.

Посмотрите на http://your.hudson.server/api.Хадсон вернет HTML-документацию для удаленного API.В разделе Создать работу вы увидите, что можете отправить config.xml по URL-адресу Hudson, чтобы создать работу.Вы должны иметь возможность создать шаблон работы вручную, а затем использовать этот config.xml в качестве шаблона в вашей автоматизированной системе.

Как описано в в предыдущем ответе , конфигурацию задания можно найти в HUDSON_HOME/jobs/[name]/config.xml.

...