2009-03-04 18 views
8

Tôi đã googling và không thể tìm thấy bất kỳ ví dụ rắn như thế nào này được thực hiện, hoặc nếu nó thậm chí có thể được thực hiện. Tôi cho rằng nó có thể. ai đó có thể chỉ cho tôi phương hướng đúng không?Có thể sử dụng TFS SDK để tạo, xếp hàng và theo dõi các bản dựng không?

Cho đến giờ tôi đã tìm kiếm theo tài liệu không gian tên TFS trên msdn. Mục tiêu của tôi là có thể tự động hóa hoàn toàn và theo dõi các bản dựng của chúng ta trong TFS từ một ứng dụng web mạng nội bộ.

Trả lời

12

Richard đã chỉ cho tôi đi đúng hướng, vì vậy Tôi sẽ trả lời câu hỏi của riêng mình với những gì tôi đã tìm thấy.

Có, bạn có thể sử dụng TFS SDK để tạo, xếp hàng và theo dõi các bản dựng. Các giao diện/lớp bạn muốn được đặt trong không gian tên Microsoft.TeamFoundation.Build.Client. IBuildServer, IBuildDefinition và IBuildDetail đặc biệt hữu ích.

TFS 2010 UPDATE: Đây là một chương trình ví dụ bằng cách sử dụng SDK TFS năm 2010, tìm thấy 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

Nhìn vào tfsbuild.exe (trong thư mục .../Common9/IDE của cài đặt VS).

này tham chiếu hội Microsoft.TeamFoundation.Build.ClientMicrosoft.TeamFoundation.Build.Common trông hữu ích, ... và chứa không gian tên mà không được ghi nhận với assembliies cient TFS khác, nhưng là trên MSDN đây http://msdn.microsoft.com/en-us/library/cc339575.aspx

+0

Cảm ơn, điều này đã dẫn tôi đến giải pháp. – JimDaniel

Các vấn đề liên quan