コード例 #1
0
        public IEnumerable <IQueuedBuild> GetQueuedBuilds(BuildResourceFilter filter)
        {
            IQueuedBuildSpec spec;

            if (string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec("*");
            }
            else if (!string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller));
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }
            else if (string.IsNullOrEmpty(filter.Controller) && !string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec(filter.TeamProject);
            }
            else
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller), filter.TeamProject);
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }

            spec.QueryOptions = QueryOptions.All;
            spec.Status       = QueueStatus.All;
            return(this.buildServer.QueryQueuedBuilds(spec).QueuedBuilds.AsEnumerable());
        }
コード例 #2
0
        public IEnumerable <IQueuedBuild> GetQueuedBuilds(BuildResourceFilter filter)
        {
            IQueuedBuildSpec spec;

            if (string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec("*");
            }
            else if (!string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller));
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }
            else if (string.IsNullOrEmpty(filter.Controller) && !string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec(filter.TeamProject);
            }
            else
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller), filter.TeamProject);
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }

            if (spec.DefinitionSpec != null)
            {
                spec.DefinitionSpec.PropertyNameFilters = null;
            }

            spec.QueryOptions = QueryOptions.Definitions | QueryOptions.Controllers | QueryOptions.Agents | QueryOptions.BatchedRequests;
            spec.Status       = QueueStatus.InProgress | QueueStatus.Queued | QueueStatus.Postponed;
            return(this.buildServer.QueryQueuedBuilds(spec).QueuedBuilds.AsEnumerable());
        }
コード例 #3
0
        public IEnumerable <IBuildDetail> GetCompletedBuilds(BuildResourceFilter filter, DateTime minFinishTime)
        {
            var result = new List <IBuildDetail>();
            IBuildDetailSpec spec;

            if (string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildDetailSpec("*");
            }
            else if (!string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                var buildDefinitionUris = this.GetBuildDefinitions(this.GetController(filter.Controller)).Select(bd => bd.Uri).ToList();
                if (!buildDefinitionUris.Any())
                {
                    return(result);
                }

                spec = this.buildServer.CreateBuildDetailSpec(buildDefinitionUris);
            }
            else if (string.IsNullOrEmpty(filter.Controller) && !string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildDetailSpec(filter.TeamProject);
            }
            else
            {
                var buildDefinitionUris = this.GetBuildDefinitions(this.GetController(filter.Controller), filter.TeamProject).Select(bd => bd.Uri).ToList();
                if (!buildDefinitionUris.Any())
                {
                    return(result);
                }

                spec = this.buildServer.CreateBuildDetailSpec(buildDefinitionUris);
            }

            spec.InformationTypes       = null;
            spec.MaxBuildsPerDefinition = 100;
            spec.Status        = BuildStatus.Succeeded | BuildStatus.Stopped | BuildStatus.PartiallySucceeded | BuildStatus.Failed;
            spec.QueryOrder    = BuildQueryOrder.FinishTimeDescending;
            spec.MinFinishTime = minFinishTime;
            spec.QueryOptions  = QueryOptions.Definitions | QueryOptions.Controllers;
            return(this.buildServer.QueryBuilds(spec).Builds);
        }
コード例 #4
0
        public IEnumerable<IQueuedBuild> GetQueuedBuilds(BuildResourceFilter filter)
        {
            IQueuedBuildSpec spec;
            if (string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec("*");
            }
            else if (!string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller));
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }
            else if (string.IsNullOrEmpty(filter.Controller) && !string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildQueueSpec(filter.TeamProject);
            }
            else
            {
                var definitions = this.GetBuildDefinitions(this.GetController(filter.Controller), filter.TeamProject);
                spec = this.buildServer.CreateBuildQueueSpec(definitions.Select(d => d.Uri));
            }

            if (spec.DefinitionSpec != null)
            {
                spec.DefinitionSpec.PropertyNameFilters = null;
            }

            spec.QueryOptions = QueryOptions.Definitions | QueryOptions.Controllers | QueryOptions.Agents | QueryOptions.BatchedRequests;
            spec.Status = QueueStatus.InProgress | QueueStatus.Queued | QueueStatus.Postponed;
            return this.buildServer.QueryQueuedBuilds(spec).QueuedBuilds.AsEnumerable();
        }
コード例 #5
0
        public IEnumerable<IBuildDetail> GetCompletedBuilds(BuildResourceFilter filter, DateTime minFinishTime)
        {
            var result = new List<IBuildDetail>();
            IBuildDetailSpec spec;
            if (string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildDetailSpec("*");
            }
            else if (!string.IsNullOrEmpty(filter.Controller) && string.IsNullOrEmpty(filter.TeamProject))
            {
                var buildDefinitionUris = this.GetBuildDefinitions(this.GetController(filter.Controller)).Select(bd => bd.Uri).ToList();
                if (!buildDefinitionUris.Any())
                {
                    return result;
                }

                spec = this.buildServer.CreateBuildDetailSpec(buildDefinitionUris);
            }
            else if (string.IsNullOrEmpty(filter.Controller) && !string.IsNullOrEmpty(filter.TeamProject))
            {
                spec = this.buildServer.CreateBuildDetailSpec(filter.TeamProject);
            }
            else
            {
                var buildDefinitionUris = this.GetBuildDefinitions(this.GetController(filter.Controller), filter.TeamProject).Select(bd => bd.Uri).ToList();
                if (!buildDefinitionUris.Any())
                {
                    return result;
                }

                spec = this.buildServer.CreateBuildDetailSpec(buildDefinitionUris);
            }

            spec.InformationTypes = new[] { Microsoft.TeamFoundation.Build.Common.InformationTypes.AgentScopeActivityTracking };
            spec.MaxBuildsPerDefinition = 100;
            spec.Status = BuildStatus.Succeeded | BuildStatus.Stopped | BuildStatus.PartiallySucceeded | BuildStatus.Failed;
            spec.QueryOrder = BuildQueryOrder.FinishTimeDescending;
            spec.MinFinishTime = minFinishTime;
            spec.QueryOptions = QueryOptions.Definitions | QueryOptions.Controllers | QueryOptions.Agents | QueryOptions.BatchedRequests;
            return this.buildServer.QueryBuilds(spec).Builds;
        }