Я использую эту библиотеку maven для подключения к Jenkins:
<dependency>
<groupId>com.offbytwo.jenkins</groupId>
<artifactId>jenkins-client</artifactId>
<version>0.3.8</version>
</dependency>
Затем я попытался получить все вакансии в Jenkins, и я получаю все доступные вакансии в Jenkins следующим образом:
JenkinsServer jServer = new JenkinsServer(new URI(JENKINS_URL), JENKINS_USER_NAME, JENKINS_PASSWORD);
Map<String, Job> jobs = jServer.getJobs();
jobs.forEach((k, v) -> {
System.out.println("Job -> " + k.toString());
});
JobWithDetails job = jobs.get(JENKINS_JOB_NAME).details();
job.getBuilds().forEach(b -> System.out.println("Build Details : " + b.getNumber()));
Теперь я хочу создать задание в Jenkins и, следовательно, вызывать приведенный ниже код, как указано в API:
try {
jServer.createJob("test-job", "src/main/resources/config.xml", true);
} catch (Exception e) {
e.printStackTrace();
}
config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<actions />
<description>test job from java api</description>
<keepDependencies>false</keepDependencies>
<properties />
<scm class="hudson.scm.NullSCM" />
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers />
<concurrentBuild>false</concurrentBuild>
<builders />
<publishers />
<buildWrappers />
<crumb>xxxxxxx</crumb>
<crumbRequestField>Jenkins-Crumb</crumbRequestField>
</project>
Когда я запускаюЭта программа, вызывая createJob (), я получаю исключение:
org.apache.http.client.HttpResponseException: 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.xxx.App.main(App.java:34)
Я также получаю исключение при вызове getJobXml ():
Exception in thread "main" org.apache.http.client.HttpResponseException: Forbidden
at com.offbytwo.jenkins.client.validator.HttpResponseValidator.validateResponse(HttpResponseValidator.java:11)
at com.offbytwo.jenkins.client.JenkinsHttpClient.get(JenkinsHttpClient.java:171)
at com.offbytwo.jenkins.JenkinsServer.getJobXml(JenkinsServer.java:515)
at com.offbytwo.jenkins.JenkinsServer.getJobXml(JenkinsServer.java:503)