package com.capitalone.dashboard.collector;
import com.capitalone.dashboard.model.Build;
import com.capitalone.dashboard.model.HudsonJob;
import java.util.Map;
import java.util.Set;
/**
* Client for fetching job and build information from Hudson
*/
public interface HudsonClient {
/**
* Finds all of the configured jobs for a given instance and returns the set of
* builds for each job. At a minimum, the number and url of each Build will be
* populated.
*
* @param instanceUrl the URL for the Hudson instance
* @return a summary of every build for each job on the instance
*/
Map<HudsonJob, Set<Build>> getInstanceJobs(String instanceUrl);
/**
* Fetch full populated build information for a build.
*
* @param buildUrl the url of the build
* @return a Build instance or null
*/
Build getBuildDetails(String buildUrl);
}