Problem
How do I get all the URLs for my repos in Azure DevOps?
Solution
Use the Azure DevOps CLI extension
This is a sample PowerShell script
param( [string]$Organization )
$orgUrl = "https://dev.azure.com/$Organization"
# Ensure signed in to Azure
$AccountInfo = az account show 2>&1
try {
$AccountInfo = $AccountInfo | ConvertFrom-Json -ErrorAction Stop
}
catch {
az login --allow-no-subscriptions
}
$DevOpsExtension = az extension list --query '[?name == ''azure-devops''].name' -o tsv
if ($null -eq $DevOpsExtension) {
$null = az extension add --name 'azure-devops'
}
$Projects = az devops project list --organization $orgUrl --query 'value[].name' -o tsv
foreach ($Proj in $Projects) {
$Repos = az repos list --organization $orgUrl --project $Proj | ConvertFrom-Json
foreach ($Repo in $Repos) {
Write-Output $Repo.webUrl
}
}
Here is a sample showing output.
PS C:\Dev\ado-api> & .\getRepos.ps1
https://dev.azure.com/exampleorg/java-jsf1/_git/java-jsf1
https://dev.azure.com/exampleorg/Jan2021Example/_git/Jan2021Example
https://dev.azure.com/exampleorg/B2C%20Brownbag/_git/B2C%20Brownbag
Credits
Thanks to Simon Wahlin for the post