/// <summary> /// Gets the build. /// </summary> /// <param name="buildDescriptor">The build descriptor.</param> /// <returns></returns> public Build GetBuild(BuildDescriptor buildDescriptor) { Build build = new NullBuild(buildDescriptor); var url = new XmlApiPrepender().Prepend(build.Url); if (buildDescriptor != null) { var xml = XmlService.GetPage(url); if (xml.IsValid) { build = new BuildMapper().Map(xml.Contents); } } return build; }
/// <summary> /// Gets the full <see cref="Job"/> from the given <see cref="JobDescriptor"/>. /// </summary> /// <param name="jobDescriptor">The job descriptor.</param> /// <returns></returns> public Job GetJob(JobDescriptor jobDescriptor) { Job job = new NullJob(jobDescriptor); var url = new XmlApiPrepender().Prepend(jobDescriptor.Url); var xml = XmlService.GetPage(url); if (xml.IsValid) { job = new JobMapper().Map(xml.Contents); /* Get Builds (takes a while...) var descriptors = mapper.MapMany(xml.Contents, "//build"); job.Builds = BuildService.GetBuilds(descriptors); */ // Get Last Build var firstBuild = mapper.Map(xml.Contents, "//firstBuild"); job.FirstBuild = BuildService.GetBuild(firstBuild); // Get Last Build var lastBuild = mapper.Map(xml.Contents, "//lastBuild"); job.LastBuild = BuildService.GetBuild(lastBuild); // Get Last Failed Build var lastFailedBuild = mapper.Map(xml.Contents, "//lastFailedBuild"); job.LastFailedBuild = BuildService.GetBuild(lastFailedBuild); // Get Last Stable Build var lastStableBuild = mapper.Map(xml.Contents, "//lastStableBuild"); job.LastStableBuild = BuildService.GetBuild(lastStableBuild); // Get Last Successful Build var lastSuccessfulBuild = mapper.Map(xml.Contents, "//lastSuccessfulBuild"); job.LastSuccessfulBuild = BuildService.GetBuild(lastSuccessfulBuild); } return job; }
/// <summary> /// Gets the Hudson <see cref="Server"/>. /// </summary> /// <param name="url">The URL of the server.</param> /// <returns></returns> public Server GetServer(Uri url) { Server server = new NullServer(url); url = new XmlApiPrepender().Prepend(url); var page = XmlService.GetPage(url); if (page.IsValid) { server = new ServerMapper().Map(page.Contents); var descriptors = new JobDescriptorMapper().Map(page.Contents); foreach (var descriptor in descriptors) { var job = JobService.GetJob(descriptor); server.Jobs.Add(job); } } return server; }
public void SetUp() { prepender = new XmlApiPrepender(); }