/// <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 void Connect(object sender, EventArgs e) { try { _projectCollection = new TfsTeamProjectCollection(new Uri(txtTfsServerUrl.Text)); _versionControlServer = _projectCollection.GetService <VersionControlServer>(); _projectStructure = _projectCollection.GetService <ICommonStructureService>(); // Populate the project selection box. foreach (var projectInfo in _projectStructure.ListProjects()) { comboProject.Items.Add(projectInfo.Name); } } catch (Exception ex) { MessageBox.Show("Unable to connect to Team Foundation Server. Please enter a valid URL.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } SetState(false, btnTfsConnect, txtTfsServerUrl); SetState(true, comboProject, lblProject); }
/// <summary> /// Loads the list of projects and enables the project combo box /// </summary> private void LoadProjects() { //Get the list of projects and display them _css = (ICommonStructureService)_tfs.GetService(typeof(ICommonStructureService)); cboProjects.ItemsSource = _css.ListProjects(); cboProjects.IsEnabled = true; }
private IEnumerable <IBuildDetail> QueryAllBuilds() { var projects = _structureService.ListProjects(); return(projects.SelectMany(project => _buildServer.QueryBuilds(project.Name))); }