2009-03-04 3 views
8

Ich habe gegoogelt und kann keine konkreten Beispiele finden, wie das gemacht wird, oder ob es sogar getan werden kann. Ich gehe davon aus, dass es möglich ist. Kann mir jemand in die richtige Richtung zeigen?Kann das TFS-SDK zum Erstellen, Wiedergeben und Verfolgen von Builds verwendet werden?

Bisher habe ich in der TFS-Namespace-Dokumentation auf msdn gesucht. Mein Ziel ist es, unsere Builds in TFS über eine Intranet-Webanwendung vollständig zu automatisieren und zu verfolgen.

Antwort

12

Richard wies mich in die richtige Richtung, so Ich werde meine eigene Frage mit dem beantworten, was ich gefunden habe.

Ja, Sie können das TFS SDK zum Erstellen, Warten und Verfolgen von Builds verwenden. Die gewünschten Schnittstellen/Klassen befinden sich im Namespace Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition und IBuildDetail sind besonders nützlich.

TFS 2010 UPDATE: Hier ist ein Beispiel-Programm ist das TFS 2010 SDK verwenden, gefunden here:

using System; 
using System.Collections.Generic; 
using Microsoft.TeamFoundation.Build.Client; 
using Microsoft.TeamFoundation.Build.Workflow; 
using Microsoft.TeamFoundation.Client; 

namespace ManageBuildTemplates 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      TfsTeamProjectCollection collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://jpricket-test:8080/tfs/collection0")); 
      IBuildServer buildServer = collection.GetService<IBuildServer>(); 

      IBuildDefinition definition = buildServer.GetBuildDefinition("UnitTests", "Definition1"); 

      IBuildRequest request = definition.CreateBuildRequest(); 
      request.ProcessParameters = UpdateVerbosity(request.ProcessParameters, BuildVerbosity.Diagnostic); 

      buildServer.QueueBuild(request); 
     } 

     private static string UpdateVerbosity(string processParameters, BuildVerbosity buildVerbosity) 
     { 
      IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters); 
      paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity; 
      return WorkflowHelpers.SerializeProcessParameters(paramValues); 
     } 
    } 
} 
3

Betrachten Sie tfsbuild.exe (im Ordner .../Common9/IDE der VS-Installation).

Diese Referenzen Baugruppen Microsoft.TeamFoundation.Build.Client und Microsoft.TeamFoundation.Build.Common, die hilfreich aussehen, ... und enthalten Namespaces, die nicht mit den anderen TFS zient assembliies dokumentiert, sondern sind auf MSDN hier http://msdn.microsoft.com/en-us/library/cc339575.aspx

+0

Danke, das mich zu der Lösung geführt. – JimDaniel

Verwandte Themen