2016-07-25 2 views
0

Я использую TFS для редактирования построения, а затем поставил его в очередь. У меня есть все, что мне нужно, чтобы получить сервер сборки и сама сборка. Я могу даже поставить в очередь сборку, но я не знаю, как указать параметр, когда я это делаю. Строки Gated, и когда я вручную их ставить в очередь, я должен указать «Последние источники», когда я это делаю, а не «Последние источники с ползунками», которые по умолчанию являются значениями по умолчанию.Как указать параметры сборки TFS в Powershell?

Вот пример того, что я нажимаю, когда я устанавливаю очередь вручную.

Ниже то, что я закодированы до сих пор:

$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection("$serverURI") 
$bs = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.Build.Client.IBuildServer") 
$build = $bs.GetBuildDefinition("$project", "$template") 
#Here is where I would do all of the build editing, but it's not important. 
$request = $definition.CreateBuildRequest() 
$bs.QueueBuild($request, “None”) 

Этот код работает, но я не знаю, как указать опцию «Последние источники» над «Последние Sources с Shelveset ". Может ли кто-нибудь помочь?

+0

Я ожидаю, что вы укажете '$ request.ShelvesetName' или не определите это ([link] (https://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.build.client.ibuildrequest .shelvesetname% 28v = vs.120% 29.aspx? f = 255 & MSPPError = -2147217396)) –

ответ

1

Основываясь на моем тесте, он построит проект/решение с использованием самого последнего источника, если ShelvesetName имеет значение NULL, мы можем проверить журнал сборки, будет ли он строить проект с использованием новейших источников с помощью shelveset (не содержит информации о shelveset if queue строить с последним источником).

Для встроенной сборки по умолчанию по умолчанию используется новейшие источники с полками, когда мы создаем очереди через VS UI, но мы должны указать название полки с последними источниками с опцией shelveset, иначе мы не сможем строить очереди. Другими словами, имя полка требуется с последним источником с опцией shelveset.

Итак, очередь на сборку через API TFS, нам просто нужно, чтобы значение ShelvesetName было нулевым для построения очереди с использованием последних источников.

+0

Так что, в основном, если я не укажу, он по умолчанию будет использовать только «Последние источники», а не «Шелвез»? Если это то, что вы имеете в виду, это должно быть довольно легко. – user3066571

+1

Да, вы правы. –

+0

Работает отлично, спасибо! – user3066571