DCSIMG
TFS API Part 33– Get Build Definitions and Build Details - Shai Raiten's Blog

Shai Raiten's Blog

It's all about code...

TFS API Part 33– Get Build Definitions and Build Details

TFS API Part 33– Get Build Definitions and Build Details

Doing some major projects in WF under Team Build 2010 I decide it’s the right time to start writing about Build API in TFS 2010.

This part is very very basic and in later posts I’ll show some cool stuff in Build 2010 API.

image

Download Demo Project

Step 1: Create Project and Add Reference

Create an WPF/WinForm application and add the following references:

First add reference for

  • Microsoft.TeamFoundation.dll
  • Microsoft.TeamFoundation.Build.Client
  • Microsoft.TeamFoundation.Build.Common.dll
  • Microsoft.TeamFoundation.dll

All files located under - c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v2.0\

Step 2: Connect to Team Foundation Server

(TFS API Part 20: Bye TeamFoundationServer and Welcome TfsTeamProjectCollection)

private TfsTeamProjectCollection server;
private IBuildServer buildServer;
private void btn_connect_Click(object sender, RoutedEventArgs e)
{
    TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false);
    tpp.ShowDialog();

    if (tpp.SelectedTeamProjectCollection != null)
    {
        server = tpp.SelectedTeamProjectCollection;
        server.EnsureAuthenticated();
        buildServer = (IBuildServer)server.GetService(typeof(IBuildServer));

        //QueryBuildDefinitions(String) Gets the build definitions for the specified team project.
        //QueryBuildDefinitions(IBuildDefinitionSpec) Gets a single build definition query result for a specified build definition specification.
        //QueryBuildDefinitions(IBuildDefinitionSpec[]) Gets the build definition query results for a specified array of build definition specifications.
        //QueryBuildDefinitions(String, QueryOptions) Gets the build definitions for the specified team project. The specified query options determine the amount of data that is retrieved in the query.
        // IBuildDefinition Interface -> http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuilddefinition.aspx
        BuildDefinitions.ItemsSource = buildServer.QueryBuildDefinitions(tpp.SelectedProjects[0].Name);
    }
}

Step 3: Get Builds From Build Definition

private void BuildDefinitions_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (BuildDefinitions.SelectedItem != null)
    {
        IBuildDefinition def = BuildDefinitions.SelectedItem as IBuildDefinition;
        //IBuildDetail Interface -> http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuilddetail.aspx
        Builds.ItemsSource = def.QueryBuilds();
    }
}
Download Demo Project

Comments

January 12, 2011 – VS/TFS Links and Quick Hits | Learn TFS said:

Pingback from  January 12, 2011 – VS/TFS Links and Quick Hits | Learn TFS

# January 12, 2011 3:20 PM

Shai Raiten said:

TFS API Part 34– Build Basic Actions In my previous post on on TFS API– Get Build Definitions and Build

# January 24, 2011 8:18 AM

MarcoW said:

Thanks for te code sample. Was a great help.

# March 28, 2011 9:56 AM

Aaron said:

Agreed, excellent demo and really useful.

# August 10, 2011 5:47 AM

vijay said:

It is very helpful. Thanks. You ROCK

# October 22, 2011 3:49 PM

TFS自动下载Build原理及代码实现 | 编程 said:

Pingback from  TFS自动下载Build原理及代码实现 | 编程

# February 28, 2012 9:32 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: