Wednesday, September 4, 2013

How to get the status of the build from TFS?

public string GetBuildStatus(IBuildServer service, string TeamProject, string BuildDefinition )
        {
            string status = string.Empty;
            IBuildDetailSpec buildDetailSpec = service.CreateBuildDetailSpec(TeamProject, BuildDefinition);
            buildDetailSpec.MaxBuildsPerDefinition = 1;
            //buildDetailSpec.Status = BuildStatus.InProgress | BuildStatus.None;
            buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending;
       
            IBuildQueryResult queryResult = service.QueryBuilds(buildDetailSpec);
           
            if (queryResult.Builds.Length > 0)
            {
                status = queryResult.Builds[0].Status.ToString();
            }

            return status;
        }

How to delete a build definition from TFS?

 public bool DeleteBuildDef(IBuildServer service, string TeamProject, string BuildDefinition)
        {
       
            try
            {
                var def = service.GetBuildDefinition(TeamProject, BuildDefinition, QueryOptions.Definitions);
                service.DeleteBuilds(def.QueryBuilds());
                def.Delete();
                return true;
            }
            catch
            {
                return false;
            }

        }

TFS Programming - How to get all items associated with a project in TFS?

TfsTeamProjectCollection server = new TfsTeamProjectCollection(new Uri(DBFacade.GlobalVariables.TFSUri));
VersionControlServer _bs = server.GetService<VersionControlServer>();


public ItemSet GetProjItems(TfsTeamProjectCollection server, VersionControlServer version, string ProjectName)
        {

            ItemSet items = version.GetItems(ProjectName, RecursionType.Full);
            return items;


        }

How to get the local Item from TFS using c#?

 public string GetLocalItem(string Servitem, Workspace wrkspace)
        {
            string localitem = wrkspace.GetLocalItemForServerItem(Servitem);
            return localitem;
        }

How to build a project using c#?

How to build a project using c#?

Here is the code

 public void BuildProject(string BuildUri)
        {
            List<ILogger> loggers = new List<ILogger>();
            loggers.Add(new ConsoleLogger());
            var projectCollection = new Microsoft.Build.Evaluation.ProjectCollection();
            projectCollection.RegisterLoggers(loggers);
            var project = projectCollection.LoadProject(BuildUri); // Needs a reference to System.Xml
            try
            {
                project.Build();
            }
            finally
            {
                projectCollection.UnregisterAllLoggers();
            }

        }