2015 I 2015 업데이트 TFS를 사용하고 3 온 - 프레미스.2015 내가 올바른 방법은 TFS와 새로운 API 2.0 빌드 엔진에 <strong>정의 된 변수</strong> 및 <strong>빌드 정의 인수</strong>을 전달하는 방법을 찾는 데 어려움을 겪고있어
I는 다음과 같습니다 PowerShell을 가진 POST를 트리거했습니다
$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
파워 쉘 스크립트가 성공적으로 정의를 발사하고있다. 그러나, 나는하지 성공적으로 여전히 해요 : - 사용자 정의 변수에 전달 또한
값 - I (예 : C12345) 가에 대해 실행하려는 특정 소스 버전에 전달 : 당신이 전달하는 적절한 방법을 알고있는 경우 (다른 브랜치를 동적으로 선택할 수 있도록) 소스에서 맵핑 할 폴더와 같은 인수에서 이것이 도움이 될 것입니다.
현재 자원은 내가 평가했습니다
-
이
- Visual Studio Docs > Api > Build > Builds
- 우체부 - GET - 정의 세부 사항 - 가능한 한 정확한 구조에 대한 검토 응답이 REST API에 대한
당신이 변수에 대한 통찰력을 제공 할 수 있습니다. 그게 내가 풀려고했던 모든 문제를 완성시킬거야. 감사! – SheldonH
당신은 $ 변경 집합에 "SourceVersion"을 전달하는 시도하고, 응답에 업데이트 된 예제를 확인 "sourceBranch"할 수있는 새로운 변수 $ sourceBranch을 만들 수 있습니다. –
확인. 그 문제를 해결하고 업데이트 해 드리겠습니다. 좋은 사례를 제공하는 데 시간을내어 주셔서 감사합니다. 희망이 작업을 'SourceVersion'를 얻기 위해 하나 개 필요하지 TFS의 버전을 시시 - MSFT @ 법안 – SheldonH