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

net.nemerosa.ontrack.extension.jenkins.JenkinsHealthIndicator Maven / Gradle / Ivy

package net.nemerosa.ontrack.extension.jenkins;

import net.nemerosa.ontrack.extension.jenkins.client.JenkinsClientFactory;
import net.nemerosa.ontrack.extension.support.ConfigurationHealthIndicator;
import net.nemerosa.ontrack.model.support.ConfigurationService;
import net.nemerosa.ontrack.model.security.SecurityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthAggregator;
import org.springframework.stereotype.Component;

@Component
public class JenkinsHealthIndicator extends ConfigurationHealthIndicator {

    private final JenkinsClientFactory jenkinsClientFactory;

    @Autowired
    public JenkinsHealthIndicator(ConfigurationService configurationService, SecurityService securityService, HealthAggregator healthAggregator, JenkinsClientFactory jenkinsClientFactory) {
        super(configurationService, securityService, healthAggregator);
        this.jenkinsClientFactory = jenkinsClientFactory;
    }

    @Override
    protected Health getHealth(JenkinsConfiguration config) {
        try {
            jenkinsClientFactory.getClient(config).getInfo();
            return Health.up().build();
        } catch (Exception ex) {
            return Health.down(ex).build();
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy