在我们的 Azure DevOps 组织中搜索存储库

Zaz*_*Zaz 5 azure-devops

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

项目列表中的搜索框仅按项目名称进行搜索。有什么方法可以搜索和查找存储库名称吗?

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

Giu*_*ian 0

我认为最简单的就是调用这个 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}*"}
Run Code Online (Sandbox Code Playgroud)

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