Jak kolejkować inny TFS (2012) Zbuduj z TFS Buduj I przekazuj parametry procesu?

Produkt, nad którym pracuję, zawiera 3/4 osobnych (niezależnych) kompilacji TFS.

Chciałbym utworzyć pojedynczą kompilację TFS, która kolejkuje pozostałe 3/4 kompilacje z poziomu ProcessTemplate I, krytycznie, przekazuje im parametry procesu. Ta kompilacja poczekałaby, aż wszystkie zakończą i zwrócą ogólny sukces / porażkę kompilacji.

Moje pytania to:

Czy można to osiągnąć dzięki jakimkolwiek istniejącym „standardowym” działaniom Workflow (mój menedżer miał złe doświadczenia z niestandardowymi działaniami workflow)?Jeśli nie, jestem w stanie „powalić” na PowerShell. Czy mogę osiągnąć to, czego chcę w Powershell (dostęp do API)?Może przy użyciu TFSBuild.exe? Ale nie mogę znaleźć sposobu na przekazanie niestandardowych parametrów procesu, których potrzebuję.

Wszelka pomoc lub wskazówki byłyby mile widziane.

AKTUALIZACJA Poniższy skrypt powershell wykona kompilację, ale wciąż nie mogę przekazać moich niestandardowych parametrów procesu :-(

function Get-BuildServer
{
    param($serverName = $(throw 'please specify a TFS server name'))
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
    [void][System.Reflection.Assembly]::LoadWithPartialName    ("Microsoft.TeamFoundation.Build.Client")
    $tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($serverName)

    return $tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer])
}

$buildserver = Get-BuildServer "http://tfsserver:8080/tfs/My%20Project%20Collection"
$teamProject = "ESI"
$buildDefinition = "iPrl_BuildMaster"
$definition = $buildserver.GetBuildDefinition($teamProject, $buildDefinition)
$request = $definition.CreateBuildRequest()
$buildserver.QueueBuild($request, "None") 

Teraz po googlu znalazłem następujący kod C #, aby zaktualizować gadatliwość i, zakładając, że jest taki sam dla moich niestandardowych parametrów procesu, muszę go przekonwertować, aby działał z powyższym skryptem powershell. Jakieś pomysły?

IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
return WorkflowHelpers.SerializeProcessParameters(paramValues);

questionAnswers(0)

yourAnswerToTheQuestion