Я хочу импортировать репозиторий git из другой учетной записи Azure DevOps в свою новую учетную запись. Я использую REST API в Power-Shell для их импорта. Скрипт, который я использую для этого, находится здесь:
$TargetTokenName = ‘TokenName’ $TargetPAT = ‘PAT’ $base64AuthInfoTarget = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes((«{0}:{1}» -f «$TargetTokenName»,»$TargetPAT»))) $BaseTargetUri = ‘https://dev.azure.com/myOrg/myProj/_apis/’ $TargetRepoId = ‘TargetRepositoryId’ $ServiceEndpointId = ‘ServiceEndpointId’ $CreateImportReqRequest = ‘{ «parameters» : { «gitSource»: { «url» : «‘ + $SourceRepoUrl + ‘», } } }’ $CreateImportReqUri = $BaseTargetUri + ‘git/repositories/’ + $TargetRepoId + ‘/importRequests?api-version=5.0-preview.1’ $CreateImportReqResponse = Invoke-RestMethod -Method Post -ContentType application/json -Uri $CreateImportReqUri -Body $CreateImportReqRequest -Headers @{Authorization=(«Basic {0}» -f $base64AuthInfoTarget)} echo $CreateImportReqResponse
Но при вызове появляется ошибка Bad request. Я могу создать пустое целевое репо и конечную точку службы через REST.
В первой ссылке ниже тело запроса содержит дополнительный параметр для serviceendpointid, но он также дает ошибку.
Invoke-RestMethod : The remote server returned an error: (400) Bad Request.
Я взял следующие ссылки: https://www.codewrecks.com/blog/index.php/2016/10/08/import-a-git-project-with-rest-api-between-vsts-team-projects/ https://docs.microsoft.com/en-us/rest/api/azure/devops/git/import%20requests/create?view=azure-devops-server-rest-5.0
Источник: