Example #1
0
        /// <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;
        }
Example #2
0
        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;
 }