/// <summary> /// Queries TFS for a list of build definitions /// </summary> /// <param name="projectName">If set, only builddefs for this project are queried</param> /// <param name="buildName"></param> /// <returns></returns> public static IEnumerable<IBuildDefinitionQueryResult> QueryBuildDefinitions(ICommonStructureService css, IBuildServer bs, string projectName = "", string buildName = "") { var specs = new List<IBuildDefinitionSpec>(); if (String.IsNullOrWhiteSpace(projectName)) { // Get a query spec for each team project if (String.IsNullOrWhiteSpace(buildName)) specs.AddRange(css.ListProjects().Select(pi => bs.CreateBuildDefinitionSpec(pi.Name))); else specs.AddRange(css.ListProjects().Select(pi => bs.CreateBuildDefinitionSpec(pi.Name, buildName))); } else { // Get a query spec just for this team project if (String.IsNullOrWhiteSpace(buildName)) specs.Add(bs.CreateBuildDefinitionSpec(projectName)); else specs.Add(bs.CreateBuildDefinitionSpec(projectName, buildName)); } // Query the definitions var results = bs.QueryBuildDefinitions(specs.ToArray()); return results; }
private IBuildDetail GetBuildDetail(BuildStatusChangeEvent statusChanged) { var buildSpec = _buildServer.CreateBuildDefinitionSpec(statusChanged.TeamProject); var detail = _buildServer.GetBuild(buildSpec, statusChanged.Id, null, QueryOptions.All); return(detail); }
private static IBuildDefinitionSpec CreateBuildDefinitionSpec(IBuildServer buildServer, string projectName) { var detailSpec = buildServer.CreateBuildDefinitionSpec(projectName); return detailSpec; }