public G19BuildScreenAppletModel GetBuildInformation(IBuildServer buildServer, string buildDefinition, string teamProject) { G19BuildScreenAppletModel model = new G19BuildScreenAppletModel(); if (buildServer != null) { IQueuedBuildSpec queed = buildServer.CreateBuildQueueSpec(teamProject, buildDefinition); IQueuedBuildQueryResult queryResult = buildServer.QueryQueuedBuilds(queed); IQueuedBuild queuedBuild = queryResult.QueuedBuilds.FirstOrDefault(); if (queuedBuild == null) { return null; } model.BuildDefinitionName = queuedBuild.Build.BuildDefinition.Name; switch (queuedBuild.Status) { case QueueStatus.InProgress: model.Status = queuedBuild.Status.ToString(); break; case QueueStatus.Canceled: model.Status = queuedBuild.Status.ToString(); break; default: model.Status = queuedBuild.Status.ToString(); break; } model.RequestedBy = queuedBuild.RequestedBy; model.TeamProjectName = queuedBuild.TeamProject; model.TimeRequested = queuedBuild.QueueTime; } return model; }
public void SetQueuedBuildPriority(IEnumerable <Uri> buildDefinitionUris, QueuePriority queuePriority) { var queuedBuildSpec = buildServer.CreateBuildQueueSpec(buildDefinitionUris); foreach (var build in buildServer.QueryQueuedBuilds(queuedBuildSpec).QueuedBuilds) { build.Priority = queuePriority; build.Save(); } }
private static void QueryQueuedBuilds() { TfsTeamProjectCollection tfsTeamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(RegtestingServerConfiguration.TfsUrl)); tfsTeamProjectCollection.EnsureAuthenticated(); IBuildServer buildServer = tfsTeamProjectCollection.GetService <IBuildServer>(); _queuedBuilds = buildServer.QueryQueuedBuilds(buildServer.CreateBuildQueueSpec("*")).QueuedBuilds; _lastQueryed = DateTime.Now; }
/// <summary> /// http://stackoverflow.com/questions/10557814/how-to-get-a-specific-build-with-the-tfs-api /// </summary> /// <param name="TeamProject"></param> /// <param name="BuildDefinition"></param> /// <param name="BuildID"></param> /// <returns></returns> public string GetBuildStatus(TfsTeamProjectCollection tfs, string TeamProject, string BuildDefinition, int BuildID) { IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer)); string status = string.Empty; IQueuedBuildSpec qbSpec = buildServer.CreateBuildQueueSpec(TeamProject, BuildDefinition); IQueuedBuildQueryResult qbResults = buildServer.QueryQueuedBuilds(qbSpec); if (qbResults.QueuedBuilds.Length > 0) { IQueuedBuild build = qbResults.QueuedBuilds.Where(x => x.Id == BuildID).FirstOrDefault(); status = build.Status.ToString(); } return(status); }