Назад | Перейти на главную страницу

Сервер Jenkins выдает ошибку 403 при доступе к rest api или использовании java-клиента jenkins для создания задания

Я пытаюсь создать работу на Jenkins, используя java-клиент (https://github.com/jenkinsci/java-client-api), вызвав .createJob (String jobName, String configXml). Однако сервер Jenkins выдает 403 запрещенную ошибку.

Образец кода :

HttpClientBuilder builder = HttpClientBuilder.create();
JenkinsHttpClient client = new JenkinsHttpClient(uri, builder, "XXX", "XXX");
JenkinsServer jenkins = new JenkinsServer(client);
String sourceXML = readFile("src/main/resources/config.xml");
System.out.println(String.format("Installed Jenkins Version >> %s", jenkins.getVersion().getLiteralVersion()));//works and gives correct result
jenkins.createJob("test-nov1", sourceXML);

Теперь я получаю ошибку:

Exception in thread "main" org.apache.http.client.HttpResponseException: status code: 403, reason phrase: Forbidden
    at com.offbytwo.jenkins.client.validator.HttpResponseValidator.validateResponse(HttpResponseValidator.java:11)
    at com.offbytwo.jenkins.client.JenkinsHttpClient.post_xml(JenkinsHttpClient.java:375)
    at com.offbytwo.jenkins.JenkinsServer.createJob(JenkinsServer.java:389)
    at com.offbytwo.jenkins.JenkinsServer.createJob(JenkinsServer.java:359)
    at com.hcl.OffByTwoJenkins.main(OffByTwoJenkins.java:31)

Безопасность Jenkins Server: когда я выбираю «Любой пользователь может делать что угодно», задание создается успешно. Однако, когда я выбираю «Зарегистрированный пользователь может делать что угодно», я получаю указанную выше ошибку. Более того, даже несмотря на то, что я отправляю правильный пользователь и пароль, со всеми разрешениями на создание задания (возможность создать задание с помощью веб-интерфейса Jenkins). Какое разрешение или изменение настроек требуется для этого.

Спасибо

Чтобы решить эту проблему, попробуйте снять флажок «Предотвращение эксплойтов подделки межсайтовых запросов» в jenkins.com/configureSecurity раздел, и он начал работать.