private async Task <bool> IsRunningABuild(string buildId) { Logger.Debug("Retrieving from TeamCity if {buildId} is running", buildId); return(await Task.Run(() => { try { return _client .Builds .ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildId), running: true)) .Count > 0; } catch (Exception ex) { Logger.Error(ex, "Error retrieving from TeamCity if {buildId} is running", buildId); } return false; })); }
private BuildStatus GetStatus(string buildTypeId) { var pendingChanges = this.teamCityClient.Changes.ByBuildConfigId(buildTypeId).FirstOrDefault(); var queuedBuild = this.teamCityClient.BuildQueue.ByBuildTypeLocator(BuildTypeLocator.WithId(buildTypeId)).FirstOrDefault(); var runningBuild = this.teamCityClient.Builds.ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildTypeId), running: true)).FirstOrDefault(); var lastBuild = this.teamCityClient.Builds .GetFields(BuildsField .WithFields(BuildField.WithFields( true, true, changes: ChangesField.WithFields(ChangeField.WithFields(true)), status: true)) .ToString()).ByBuildConfigId(buildTypeId).OrderByDescending(x => x.Number).FirstOrDefault(); if (lastBuild != null) { return(new BuildStatus(queuedBuild != null | runningBuild != null | GetHasPendingChanges(pendingChanges, lastBuild), lastBuild.Status)); } return(new BuildStatus(false, "None")); }
public void ReturnsWithMaxResults() { var locator = BuildLocator.WithDimensions(maxResults: 9999); Assert.AreEqual("count:9999", locator.ToString()); }
public void ReturnsWithStartIndex() { var locator = BuildLocator.WithDimensions(startIndex: 9999); Assert.AreEqual("start:9999", locator.ToString()); }
public List <Build> FailedBuildsByBuildConfigId(string buildConfigId) { return(ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId), status: BuildStatus.FAILURE ))); }
public List <Build> AllBuildsOfStatusSinceDate(DateTime date, BuildStatus buildStatus) { return(ByBuildLocator(BuildLocator.WithDimensions(sinceDate: date, status: buildStatus))); }
public List <Build> AllSinceDate(DateTime date) { return(ByBuildLocator(BuildLocator.WithDimensions(sinceDate: date))); }
public List <Build> ByConfigIdAndTag(string buildConfigId, string[] tags) { return(ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId), tags: tags ))); }
public Build LastBuildByAgent(string agentName, List <String> param = null) { return(ByBuildLocator(BuildLocator.WithDimensions(agentName: agentName, maxResults: 1), param).SingleOrDefault()); }
public void ReturnsWithStatusERROR() { var locator = BuildLocator.WithDimensions(status: BuildStatus.ERROR); Assert.AreEqual("status:ERROR", locator.ToString()); }
public void ReturnsWithAgentName() { var locator = BuildLocator.WithDimensions(agentName: "AGENTNAME"); Assert.AreEqual("agentName:AGENTNAME", locator.ToString()); }
public void ReturnsWithSinceBuild() { var locator = BuildLocator.WithDimensions(sinceBuild: BuildLocator.WithId(9999)); Assert.AreEqual("sinceBuild:(id:9999)", locator.ToString()); }
public void ReturnsWithBranch() { var locator = BuildLocator.WithDimensions(branch: "BRANCHNAME"); Assert.AreEqual("branch:(BRANCHNAME)", locator.ToString()); }
public void ReturnsWithUserName() { var locator = BuildLocator.WithDimensions(user: UserLocator.WithUserName("USERNAME")); Assert.AreEqual("user:(username:USERNAME)", locator.ToString()); }
public void ReturnsWithUserId() { var locator = BuildLocator.WithDimensions(user: UserLocator.WithId("9999")); Assert.AreEqual("user:(id:9999)", locator.ToString()); }
public void ReturnsWithNullUser() { var locator = BuildLocator.WithDimensions(user: null); Assert.AreEqual(string.Empty, locator.ToString()); }
public void ReturnsWithStatusFAILURE() { var locator = BuildLocator.WithDimensions(status: BuildStatus.FAILURE); Assert.AreEqual("status:FAILURE", locator.ToString()); }
public void ReturnsWithStatusSUCCESS() { var locator = BuildLocator.WithDimensions(status: BuildStatus.SUCCESS); Assert.AreEqual("status:SUCCESS", locator.ToString()); }
public List <Build> ByBuildConfigId(string buildConfigId) { return(ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId) ))); }
public void ReturnsWithPersonalTrue() { var locator = BuildLocator.WithDimensions(personal: true); Assert.AreEqual("personal:True", locator.ToString()); }
public List <Build> ByUserName(string userName) { return(ByBuildLocator(BuildLocator.WithDimensions( user: UserLocator.WithUserName(userName) ))); }
public void ReturnsWithCancelledTrue() { var locator = BuildLocator.WithDimensions(canceled: true); Assert.AreEqual("canceled:True", locator.ToString()); }
public List <Build> ByBranch(string branchName) { return(ByBuildLocator(BuildLocator.WithDimensions(branch: branchName))); }
public void ReturnsWithRunningTrue() { var locator = BuildLocator.WithDimensions(running: true); Assert.AreEqual("running:True", locator.ToString()); }
public List <Build> SuccessfulBuildsByBuildConfigId(string buildConfigId) { return(ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId), status: BuildStatus.SUCCESS ))); }
public void ReturnsWithPinnedTrue() { var locator = BuildLocator.WithDimensions(pinned: true); Assert.AreEqual("pinned:True", locator.ToString()); }
public List <Build> ErrorBuildsByBuildConfigId(string buildConfigId) { return(ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildConfigId), status: BuildStatus.ERROR ))); }
public Build LastBuildByAgent(string agentName) { return(ByBuildLocator(BuildLocator.WithDimensions(agentName: agentName, maxResults: 1)).SingleOrDefault()); }