2010-06-07 13 views

Respuesta

4

Uso de la API, se puede obtener la ubicación caída de la construcción. El siguiente código obtiene la compilación más reciente para un proyecto determinado y devuelve la carpeta desplegable.

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

Además, si escribir una pequeña aplicación de utilidad para hacer esto no está en las tarjetas, la misma API está expuesta a PowerShell. – Robaticus

Cuestiones relacionadas