У меня трудно найти, как правильный способ передать определенных переменные и аргументов определения сборки к новой сборке двигателю API 2.0 с TFS 2015. Я использую TFS 2015 Update 3 на месте.Как правильно передать переменные & исходную версию API 2.0 VNext сборки в TFS 2015
Я вызвал POST с помощью PowerShell, который выглядит следующим образом:
$Build_Definition_ID = 1234
$TFSInstanceURL = 'http://tfsservername:port/tfs'
$ProjectCollection = 'CollectionName'
$TeamProject = 'ProjectName'
$Changeset = "12345"
$UserName = "$env:USERDOMAIN\$env:USERNAME"
$UserNamePartial = $env:USERNAME
$body = @"
{
"definition": {
"id": "$Build_Definition_ID"
}
}
"@
$baseUri = $TFSInstanceURL+"/"+$ProjectCollection+"/"+$TeamProject+"/_apis/build"
$postUri = $baseUri+"/builds?api-version=2.0"
##Create a new PSCredential based on username/password
$User = 'foo\bar'
$Password = 'examplepass'
$securePassword = $Password | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($User, $securePassword)
### Queue a build ###
##Call the REST API for TFS that does a POST request to queue a build with the body of the request to be the build definition
$buildResponse = Invoke-RestMethod -Method POST -Credential $credential -ContentType application/json -Uri $postUri -Body $body
#Write-Host (ConvertTo-Json $buildResponse)
#ConvertTo-Json $buildResponse | out-file -FilePath $Changeset-ResponseJson.json -Force
PowerShell скрипт успешно запускает определение. Тем не менее, я до сих пор не удалось успешно: - Переходя в конкретной версии источника я хочу работать против (например C12345) - Переходя в пользовательской переменной ценности
Дополнительно: Если вы знаете, как правильно пройти в таких аргументах, как папка для отображения из источника (чтобы динамически выбирать разные ветви), это поможет.
Текущие ресурсы Я оценили:
- Visual Studio Docs > Api > Build > Builds
- Почтальон - GET - Определение Подробности - Пересмотрены ответ на возможную правильную структуру представить
вы можете дать представление о переменных. Это выполнило бы полную проблему, с которой я пытался работать. Благодаря! – SheldonH
Вы можете попробовать передать $ Changeset в «SourceVersion» и создать новую переменную $ sourceBranch для «sourceBranch», проверить обновленный пример в ответе. –
ОК. Я дам вам выстрел и обновление с любыми проблемами. спасибо за ваше время, предоставляя хороший пример. Надеюсь, это поместит счет – SheldonH