/// <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;
 }
Exemple #4
0
        private IEnumerable <IBuildDetail> QueryAllBuilds()
        {
            var projects = _structureService.ListProjects();

            return(projects.SelectMany(project => _buildServer.QueryBuilds(project.Name)));
        }