azure - 如何在 azure 管道中使用 AZURE cli 命令列出信息

标签 azure azure-devops azure-pipelines azure-cli

我正在尝试制作一个包含 Azure CLI 命令的 PowerShell 脚本来检索有关存储库的信息,我是 azure DevOps 的新手。

我试图收集的信息是存储库列表、它们的分支、最新提交和作者。

我已经阅读了 AZ Repos 文档,但无法正确执行它,这是我迄今为止完成的代码。

$orgUrl = "https://dev.azure.com/{MyOrganization}"

$ProjectUrl = "https://dev.azure.com/{MyOrganization}/_apis/git/repositories?api-verepo_demo/sion=4.1"

$env:SYSTEM_ACCESSTOKEN | az devops login --org $org --project $ProjectUrl

foreach ($Proj in $ProjectUrl) 
{

    $Repos = az repos list --organization $orgUrl --project $Proj | ConvertFrom-Json

    foreach ($Repo in $Repos) {

        Write-Output $Repo.webUrl
    }

最佳答案

看起来您已经到了那里...但是您粘贴的代码中有一些非常错误的地方,我猜代码不完整。

$orgUrl = "https://dev.azure.com/{MyOrganization}"

# there is an error in the project url below, it should contain the project name. Plus, you need to pass the project name, not the full URI.
$ProjectUrl = "https://dev.azure.com/{MyOrganization}/_apis/git/repositories?api-verepo_demo/sion=4.1"

$env:SYSTEM_ACCESSTOKEN | az devops login --org $org --project $ProjectUrl

# you can't for each through a url. I assume you had some az DevOps list command here previously.

foreach ($Proj in $ProjectUrl) 
{

    # you should probably enforce json output here.
    $Repos = az repos list --organization $orgUrl --project $Proj | ConvertFrom-Json

    foreach ($Repo in $Repos) {

        Write-Output $Repo.webUrl
    }
}

如果您只查询单个项目,您可以简单地对项目名称进行硬编码:

$orgUrl = "https://dev.azure.com/{MyOrganization}"
$project = "demo"

$env:SYSTEM_ACCESSTOKEN | az devops login --org $org --project $project

$Repos = az repos list --organization $orgUrl --project $project -o json | ConvertFrom-Json

foreach ($Repo in $Repos) {
    Write-Output $Repo.webUrl
}

关于azure - 如何在 azure 管道中使用 AZURE cli 命令列出信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70750731/

相关文章:

azure - 如何从 Azure Devops 服务器迁移到 Azure Devops 服务中的现有组织

azure - 如何在 Azure 管道运行期间检索 VsTest 测试计划测试用例 ID 并在自动化代码中使用它

azure-devops - 从管道上的 VM 内运行的脚本获取控制台输出

azure - 跳过暂存和生产

azure - ADO : Use an agent pool across multiple projects

Azure 应用服务 Multi-Tenancy 功能实际上不起作用

Azure 媒体服务在编码作业时为 .wmv 文件提供 JobState.Error

email - 无法使用 Gmail 从 Azure VM 发送邮件

azure - 将本地文件复制到 Azure Blob - 长文件名

testing - 无法在 VSTS 中创建新的测试计划