public G19BuildScreenAppletModel GetBuildInformation(IBuildServer buildServer, string buildDefinition, string teamProject)
        {
            G19BuildScreenAppletModel model = new G19BuildScreenAppletModel();

            if (buildServer != null)
            {
                IQueuedBuildSpec queed = buildServer.CreateBuildQueueSpec(teamProject, buildDefinition);

                IQueuedBuildQueryResult queryResult = buildServer.QueryQueuedBuilds(queed);

                IQueuedBuild queuedBuild = queryResult.QueuedBuilds.FirstOrDefault();
                if (queuedBuild == null)
                {
                    return null;
                }
                model.BuildDefinitionName = queuedBuild.Build.BuildDefinition.Name;

                switch (queuedBuild.Status)
                {
                    case QueueStatus.InProgress:
                        model.Status = queuedBuild.Status.ToString();
                        break;
                    case QueueStatus.Canceled:
                        model.Status = queuedBuild.Status.ToString();
                        break;
                    default:
                        model.Status = queuedBuild.Status.ToString();
                        break;
                }
                model.RequestedBy = queuedBuild.RequestedBy;
                model.TeamProjectName = queuedBuild.TeamProject;
                model.TimeRequested = queuedBuild.QueueTime;
            }
            return model;
        }
Exemplo n.º 2
0
        public void SetQueuedBuildPriority(IEnumerable <Uri> buildDefinitionUris, QueuePriority queuePriority)
        {
            var queuedBuildSpec = buildServer.CreateBuildQueueSpec(buildDefinitionUris);

            foreach (var build in buildServer.QueryQueuedBuilds(queuedBuildSpec).QueuedBuilds)
            {
                build.Priority = queuePriority;
                build.Save();
            }
        }
Exemplo n.º 3
0
        private static void QueryQueuedBuilds()
        {
            TfsTeamProjectCollection tfsTeamProjectCollection =
                TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(RegtestingServerConfiguration.TfsUrl));

            tfsTeamProjectCollection.EnsureAuthenticated();

            IBuildServer buildServer = tfsTeamProjectCollection.GetService <IBuildServer>();

            _queuedBuilds = buildServer.QueryQueuedBuilds(buildServer.CreateBuildQueueSpec("*")).QueuedBuilds;
            _lastQueryed  = DateTime.Now;
        }
Exemplo n.º 4
0
        /// <summary>
        /// http://stackoverflow.com/questions/10557814/how-to-get-a-specific-build-with-the-tfs-api
        /// </summary>
        /// <param name="TeamProject"></param>
        /// <param name="BuildDefinition"></param>
        /// <param name="BuildID"></param>
        /// <returns></returns>
        public string GetBuildStatus(TfsTeamProjectCollection tfs, string TeamProject, string BuildDefinition, int BuildID)
        {
            IBuildServer            buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer));
            string                  status      = string.Empty;
            IQueuedBuildSpec        qbSpec      = buildServer.CreateBuildQueueSpec(TeamProject, BuildDefinition);
            IQueuedBuildQueryResult qbResults   = buildServer.QueryQueuedBuilds(qbSpec);

            if (qbResults.QueuedBuilds.Length > 0)
            {
                IQueuedBuild build = qbResults.QueuedBuilds.Where(x => x.Id == BuildID).FirstOrDefault();
                status = build.Status.ToString();
            }
            return(status);
        }