Как поставить в очередь другую сборку TFS (2012) из сборки TFS И передать параметры процесса?

Продукт, над которым я работаю, включает в себя 3/4 отдельных (независимых) сборок TFS.

Я хотел бы создать одну сборку TFS, которая ставит в очередь другие сборки 3/4 из ProcessTemplate И, что очень важно, передает им параметры процесса. Эта сборка будет ждать их завершения и вернуть общий успех / неудачу сборки.

Итак, мои вопросы:

Может ли это быть достигнуто любым существующимстандарт» Действия рабочего процесса (у моего менеджера был плохой опыт с пользовательскими действиями рабочего процесса)?Если нет, я могураскошеливаться' к PowerShell. Могу ли я достичь того, чего хочу, в Powershell (доступ к API)?Может быть, с помощью TFSBuild.exe? Но я могу'не могу найти способ передачи пользовательских параметров процесса, которые мне нужны.

Любая помощь или рекомендации будут оценены.

ОБНОВИТЬ Следующий скрипт powershell выполнит сборку, но яЯ до сих пор в растерянности, чтобы иметь возможность передать мои пользовательские параметры процесса :-(

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") 

Теперь, после поиска в Google, я нашел следующий код C # для обновления многословия и, предполагая, чтоТо же самое для моих пользовательских параметров процесса, мне нужно преобразовать это для работы с вышеупомянутым сценарием PowerShell. Есть идеи?

IDictionary paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
return WorkflowHelpers.SerializeProcessParameters(paramValues);

Ответы на вопрос(0)

Ваш ответ на вопрос