首页 > 解决方案 > 如何使用 Azure DevOps API 列出对项目存储库具有权限的组/用户?

问题描述

我想检查谁有权通过 REST API 访问项目中的某些存储库。我参考了文档,但可以找到任何东西。

标签: powershellazure-devopsazure-devops-rest-api

解决方案


使用AzurePipelinesPS PowerShell 模块,您可以运行以下命令来创建权限报告并将文件保存在本地。其中 _yourSessionName_ 是您的会话名称。要了解有关使用 AzurePipelinesPS 进行会话管理的更多信息,您可以在此处查看文档。

创建报告

为团队项目中的存储库创建报告,其中 _myTeamProjectName_ 是团队项目的名称,_myRepoName_ 是存储库的名称。可以修改此输入对象以创建各种权限报告。请参阅此处的文档。

New-APPermissionReport -Session '_yourSessionName_' -InputObject @{
        descriptors = @()
        reportName = 'myFirstPermissionReport'
        resources = @(
            @{
                resourceId = '_myTeamProjectName_/_myRepoName_'
                resourceName = '_myRepoName_'
                resourceType = 'repo'
            }
        )
    }

返回报告状态

返回列表中第一个报告的报告信息

$session = '_yourSessionName_'
$reports = Get-APPermissionReportList -Session $session
Get-APPermissionReport -Session $session -ReportId $reports[0].id 

保存报告

将列表中的第一个报告保存到位于 c:\temp\myReport.json 的文件中

$session = '_yourSessionName_'
$reports = Get-APPermissionReportList -Session $session
Save-APPermissionReport -Session $session -ReportId $reports[0].id -OutputPath C:\temp\myReport.json

如果您对该模块有任何问题,请随时在AzurePipelinesPS Github 项目上提出问题


推荐阅读