/// <summary> /// Gets the list of running builds. /// </summary> /// <returns></returns> public List <Build> GetListOfRunningBuilds() { return(_client.Builds.ByBuildLocator(BuildLocator.RunningBuilds())); }
public void it_returns_all_running_builds() { var builds = m_client.Builds.ByBuildLocator(BuildLocator.RunningBuilds()); Assert.IsNotNull(builds, "There are currently no running builds"); }
public BuildStatus Poll() { FileLogger.Logger.LogVerbose("Polling Monitor: {0}", Name); var runningBuilds = _client.BuildsByBuildLocator(BuildLocator.RunningBuilds()); foreach (var build in _builds) { // Mark the current last state for the Build. // ------------------------------------------------------------------------------ DateTime dateTime; try { var lastbuild = _client.LastBuildByBuildConfigId(build.ID); switch (lastbuild.Status) { case "SUCCESS": build.Status = Status.Success; break; case "ERROR": case "FAILURE": build.Status = Status.Failed; break; case "UNKNOWN": build.Status = Status.Unknown; break; default: Console.WriteLine(lastbuild.Status); break; } if (!string.IsNullOrEmpty(lastbuild.FinishDate)) { DateTime.TryParse(lastbuild.FinishDate, out dateTime); build.DateTime = dateTime; } } catch { // LastBuildByBuildID will throw an exception if no builds have occurred. // So we need to catch this and simulate an SUCCESS state. build.Status = Status.Success; } // Update any which are "RUNNING" Now // -------------------------------------------------------------------- if (runningBuilds != null) { foreach (var runningBuild in runningBuilds) { if (build.ID.Equals(runningBuild.BuildTypeId)) { switch (build.Status) { case Status.Success: build.Status = Status.SuccessInProgress; break; case Status.Failed: build.Status = Status.FailedInProgress; break; default: build.Status = Status.InProgress; break; } if (!string.IsNullOrEmpty(runningBuild.FinishDate)) { DateTime.TryParse(runningBuild.FinishDate, out dateTime); build.DateTime = dateTime; } } } } } return(DetermineMonitorState()); }