Боюсь, что конвейер YAML не поддерживает TFV C в настоящее время.
В качестве обходного пути вы можете перенести TFV C в Git.
Вы также можете создать конвейер построения пользовательского интерфейса classi c вместо конвейера YAML. TFV C поддерживается на конвейере пользовательского интерфейса classi c.
![enter image description here](https://i.stack.imgur.com/erNMl.png)
Пользовательский голос для поддержки TFV C в Yaml был отправлен в Microsoft развитие. Вы можете проголосовать или создать новый. см. здесь .
Обновление:
- Чтобы перенести код из репозитория tfsv c в агент сборки.
Вы можете использовать TFV C Получить предметы rest api , чтобы получить предметы. Добавьте задачу сценария в свой конвейер, чтобы вызвать остальные API и сохранить элементы в агенте сборки. Пожалуйста, проверьте ниже пример скрипта powershell: чтобы получить токен личного доступа. Пожалуйста, обратитесь к документу здесь .
$url = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_apis/tfvc/items?scopePath=path&recursionLevel=full&api-version=5.1"
$PAT= "Personal access token"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($PAT)"))
$result = Invoke-RestMethod -Uri $url -Method Get -Header @{Authorization = "Basic $base64AuthInfo"}
$files= $result.value | where { !$_.isFolder} | select path, url
foreach($file in $files){
$path = "$(System.DefaultWorkingDirectory)\" + $file.path.Substring(2)
New-Item -Path $path -ItemType File -Force
Invoke-RestMethod -Uri $file.url -Method get -Header @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -OutFile $path
}
Выше сценария вызовите API Get Items и получите url и путь к элементам ($files= $result.value | where { !$_.isFolder} | select path, url
)
Затем получите каждый элемент и сохранить до $(System.DefaultWorkingDirectory)
. Например, если мой scopePath равен $/MyProject/
, то элементы будут сохранены в $(System.DefaultWorkingDirectory)/MyProject/