2010-06-07 8 views
6

Nasz istniejący skrypt do tworzenia partii zawiera adres URL, z którego można pobrać najnowszą wersję produktu (o innej definicji kompilacji).Jak uzyskać ostatni artefakt kompilacji z kompilacji TFS?

W jaki sposób uzyskać dostęp do folderu najtańszej kompilacji budowania TFS Team?

szukam czegoś, aby uzyskać dostęp do najnowszych \ buildserver \ builddrop \ Project-2010MMDD.N \

Odpowiedz

4

Korzystanie z interfejsu API, można uzyskać lokalizację spadek z kompilacji. Poniższy kod pobiera najnowszą kompilację dla danego projektu i zwraca dropfolder.

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

Ponadto, jeśli napisanie małej aplikacji do tego nie znajduje się na kartach, ten sam interfejs API jest wystawiony na działanie PowerShell. – Robaticus