Как получить доступ к Azure DevOps REST API из Azure CloudShell с помощью PowerShell?

Мне нужно получить доступ к репозиторию Azure DevOps TFSGit из облачной оболочки Azure, есть ли способ открыть сеанс с DevOps и выполнить команды для получения содержимого файла репозитория. Я пытаюсь реализовать инициативы политики Azure, как это было описано здесь. В примере (ссылка) репозитории находятся на GitHub, и это общедоступный репозиторий, я хочу реплицировать его с помощью Azure DevOps и с частным репозиторием.

Спасибо.


person user527614    schedule 03.02.2020    source источник
comment
Привет, проблема решена? Я опубликовал ответ: вы можете использовать poweshell для получения контента из вашего репозитория Azure DevOps, помогает ли это? Если это поможет решить проблему, вы можете принять это как ответ. Или, если вы найдете какое-либо другое решение, вы можете поделиться им здесь, и оно может помочь тем, кто столкнулся с той же проблемой. Спасибо!   -  person Yang Shen - MSFT    schedule 05.03.2020


Ответы (1)


Если вы хотите получить содержимое репозитория. Существующий API может помочь - Товары - Получить.

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/items?path={path}&api-version=5.1

Вы можете проверить ниже демонстрацию оболочки poswer для получения дополнительной информации об использовании.

PS C:\Users\****> $personalToken="*******************************"
PS C:\Users\****> $token=[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($personalToken)"))
PS C:\Users\****> $header=@{authorization="Basic $token"}
PS C:\Users\****> $projectUrl ="https://dev.azure.com/********/********/_apis/git/repositories/51068825-de***********5671/items?path=Test.txt&api-version=5.1"
PS C:\Users\****> $content=Invoke-RestMethod -Uri $projectUrl -Method GET -contentType "application/json" -Headers $header
PS C:\Users\****> $content

введите здесь описание изображения

введите здесь описание изображения

person Yang Shen - MSFT    schedule 05.02.2020