2010-06-07 3 views
6

Наш существующий скрипт сборки пакетов содержит URL-адрес, чтобы получить последнюю версию продукта (из другого определения сборки).Как получить последний артефакт сборки из кавычки сборки TFS?

Как можно получить доступ к папке с откатными строками сборщика TFS Team Build?

Я ищу что-то, чтобы получить доступ к новейшим \ buildserver \ builddrop \ Project-2010MMDD.N \

ответ

4

Используя API, вы можете получить место падения от сборки. Код ниже получает самую последнюю сборку для данного проекта и возвращает папку drop.

public string DropFolder(TeamFoundationServer tfs, string teamProject, string buildName) 
{ 
    IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer)); 

    IBuildDetailSpec buildDetailSpec = buildServer.CreateBuildDetailSpec(teamProject, buildName); 

    buildDetailSpec.MaxBuildsPerDefinition = 1; 
    buildDetailSpec.QueryOrder = BuildQueryOrder.FinishTimeDescending; 
    buildDetailSpec.Status = BuildStatus.Failed | BuildStatus.PartiallySucceeded | BuildStatus.Stopped | BuildStatus.Succeeded; 

    IBuildQueryResult results = buildServer.QueryBuilds(buildDetailSpec); 

    if (results.Failures.Length != 0) 
    { 
     throw new ApplicationException("this needs to go away and be handled more nicely"); 
    } 

    if (results.Builds.Length == 1) 
    { 
     results.Builds[0].DropLocation; 
    } 
    else 
    { 
     return null; 
    } 
} 
+1

Кроме того, если писать небольшое приложение-приложение для этого не входит в карты, тот же API подвергается воздействию PowerShell. – Robaticus