All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.nemerosa.ontrack.extension.jenkins.client.DefaultJenkinsClient Maven / Gradle / Ivy

package net.nemerosa.ontrack.extension.jenkins.client;

import com.fasterxml.jackson.databind.JsonNode;
import net.nemerosa.ontrack.client.JsonClient;
import org.apache.commons.lang3.StringUtils;

public class DefaultJenkinsClient implements JenkinsClient {

    private final JsonClient jsonClient;

    public DefaultJenkinsClient(JsonClient jsonClient) {
        this.jsonClient = jsonClient;
    }

    @Override
    public JenkinsJob getJob(String job) {
        String path = job.replaceAll("/job/", "/").replaceAll("/", "/job/");
        String jobPath = jsonClient.getUrl("job/%s", path);
        String jobName = StringUtils.substringAfterLast(jobPath, "/");
        return new JenkinsJob(
                jobName,
                jobPath
        );
    }

    @Override
    public JenkinsInfo getInfo() {
        JsonNode tree = jsonClient.get("/api/json");
        return new JenkinsInfo(
                tree.path("slaveAgentPort").asInt()
        );
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy