public static TeamBuildDtoCollection GetTeamBuilds(this TfsConfigurationServer tfsConfigurationServer, Guid teamProjectCollectionId, string teamProjectName, IEnumerable <string> teamBuildDefinitionNames) { if (tfsConfigurationServer == null) { throw new ArgumentNullException("tfsConfigurationServer"); } if (teamBuildDefinitionNames == null) { throw new ArgumentNullException("teamBuildDefinitionNames"); } TfsTeamProjectCollection tfsTeamProjectCollection = tfsConfigurationServer.GetTeamProjectCollection(teamProjectCollectionId); IBuildServer buildServer = tfsTeamProjectCollection.GetService <IBuildServer>(); TeamBuildDtoCollection teamBuildDtoCollection = new TeamBuildDtoCollection(); foreach (string teamBuildDefinitionName in teamBuildDefinitionNames) { IBuildDetailSpec buildDetailSpec = buildServer.CreateBuildDetailSpec(teamProjectName, teamBuildDefinitionName); buildDetailSpec.Reason = BuildReason.All; buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending; buildDetailSpec.QueryDeletedOption = QueryDeletedOption.ExcludeDeleted; IBuildQueryResult buildQueryResult = buildServer.QueryBuilds(buildDetailSpec); foreach (IBuildDetail buildDetail in buildQueryResult.Builds) { TeamBuildDto teamBuildDto = new TeamBuildDto(); teamBuildDto.BuildNumber = buildDetail.BuildNumber; teamBuildDto.Uri = buildDetail.Uri; teamBuildDto.DefinitionName = teamBuildDefinitionName; teamBuildDtoCollection.Add(teamBuildDto); } } return(teamBuildDtoCollection); }
public ActionResult TeamBuilds(Guid teamProjectCollectionId, string teamProjectName, string selectedTeamBuildDefinitions) { if (string.IsNullOrEmpty(selectedTeamBuildDefinitions)) { throw new ArgumentNullException("selectedTeamBuildDefinitions"); } this.ViewData[ViewDataKey.TeamProjectCollectionId] = teamProjectCollectionId; this.ViewData[ViewDataKey.TeamProjectName] = teamProjectName; string[] selectedTeamBuildDefinitionsList = selectedTeamBuildDefinitions.Split(','); TeamBuildDtoCollection teamBuildDtoCollection = GetTfsConfigurationServer().GetTeamBuilds(teamProjectCollectionId, teamProjectName, selectedTeamBuildDefinitionsList); return(this.View(teamBuildDtoCollection)); }
public static TeamBuildDtoCollection GetTeamBuilds(this TfsConfigurationServer tfsConfigurationServer, Guid teamProjectCollectionId, string teamProjectName, IEnumerable<string> teamBuildDefinitionNames) { if (tfsConfigurationServer == null) { throw new ArgumentNullException("tfsConfigurationServer"); } if (teamBuildDefinitionNames == null) { throw new ArgumentNullException("teamBuildDefinitionNames"); } TfsTeamProjectCollection tfsTeamProjectCollection = tfsConfigurationServer.GetTeamProjectCollection(teamProjectCollectionId); IBuildServer buildServer = tfsTeamProjectCollection.GetService<IBuildServer>(); TeamBuildDtoCollection teamBuildDtoCollection = new TeamBuildDtoCollection(); foreach (string teamBuildDefinitionName in teamBuildDefinitionNames) { IBuildDetailSpec buildDetailSpec = buildServer.CreateBuildDetailSpec(teamProjectName, teamBuildDefinitionName); buildDetailSpec.Reason = BuildReason.All; buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending; buildDetailSpec.QueryDeletedOption = QueryDeletedOption.ExcludeDeleted; IBuildQueryResult buildQueryResult = buildServer.QueryBuilds(buildDetailSpec); foreach (IBuildDetail buildDetail in buildQueryResult.Builds) { TeamBuildDto teamBuildDto = new TeamBuildDto(); teamBuildDto.BuildNumber = buildDetail.BuildNumber; teamBuildDto.Uri = buildDetail.Uri; teamBuildDto.DefinitionName = teamBuildDefinitionName; teamBuildDtoCollection.Add(teamBuildDto); } } return teamBuildDtoCollection; }