HttpResponseException: запрещено при попытке вызвать создание задания в jenkins через Java - PullRequest
0 голосов
/ 24 сентября 2019

Я использую эту библиотеку 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)
...