2017-05-15 10 views

답변

0

TFS 빌드의이 TFS REST API to get logs을 사용할 수 있습니다. 이러한 로그를 가져 오려면 스스로 경고를 가져와야합니다. 경고 만 받기위한 API는 없습니다.

Http method: GET 

http:/servername"8080/tfs/DefaultCollection/teamproject/_apis/build/builds/391/logs?api-version=2.0 

TFS ExtendedClient Nuget package을 설치하여 TFS 개체 모델 API를 사용할 수도 있습니다. 댓글이의 VNext가 정의 정보는 이전 버전의 API를 사용하여 연결할 수 없습니다 구축 위에서 말했듯이

: 여기

는 코드입니다. 프로젝트에이 TFS ExtendedClient Nuget 패키지를 설치합니다. 아래의 방법을 사용하여 모든 빌드 정의를 가져옵니다.

using Microsoft.VisualStudio.Services.WebApi; 
using Microsoft.VisualStudio.Services.Common; 
using Microsoft.TeamFoundation.Build.WebApi; 
using Microsoft.TeamFoundation.Core.WebApi; 
using Microsoft.VisualStudio.Services.Operations; 

private static void GetBuildWarnings() 
{ 
    var u = new Uri("http://v-tinmo-12r2:8080/tfs/MyCollection/"); 
    VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.WindowsCredential(new NetworkCredential("username", "password", "domain"))); 
    var connection = new VssConnection(u, c); 
    BuildHttpClient buildServer = connection.GetClient<BuildHttpClient>(); 

    List<BuildLog> logs = buildServer.GetBuildLogsAsync("teamprojectname",buildId).Result; 
    foreach (BuildLog log in logs) 
    { 
     var list = buildServer.GetBuildLogLinesAsync("A92FB795-A956-45B5-A017-7A7DFB96A040",buildId,log.Id).Result; //A92FB795-A956-45B5-A017-7A7DFB96A040 is the team project Guid 
     foreach (var line in list) 
     { 
      if (l.Contains("[Warning]")) 
      { 
       Console.WriteLine(line); 
      } 
     } 
    } 
    Console.ReadLine(); 
}