首页 > 解决方案 > 在我们的 Azure DevOps 组织中搜索存储库

问题描述

在我们的 azure devops 组织中,我们有大约 100 个项目。每个项目包含 1 到 20 个 git 存储库。这使得很难找到特定的存储库,除非您还记得它位于哪个项目中。

项目列表中的搜索框仅按项目名称搜索。有没有办法搜索和查找存储库名称?

有一个代码搜索,但它会返回存储库中已有文件的结果这会给出冗余和错误的结果。

标签: azure-devops

解决方案


我认为最简单的是调用这个 REST API。您甚至可以从浏览器调用它并使用查找功能。请注意,项目元素不是必需的。

要自动化,您可以使用几行 Powershell 在结果 JSON 文档中进行搜索,例如

$organization = ...
$PAT = ...a personal access token
$repoNameStart = ...initial name of repo

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("dummy:${PAT}"))
$result = Invoke-RestMethod -Method Get -Uri "https://dev.azure.com/${organization}/_apis/git/repositories?api-version=4.1" -Headers @{Authorization = "Basic $base64AuthInfo" } -Credential $credential -ContentType "application/json"
$result.value | where {$_.name -like "${repoNameStart}*"}

(未经测试的代码,以它为例)


推荐阅读