Azure DevOps 2020 - 从集合中的多个项目的存储库中查找文件

Posted

技术标签:

【中文标题】Azure DevOps 2020 - 从集合中的多个项目的存储库中查找文件【英文标题】:Azure DevOps 2020 - Find a file in a repo from multiple projects in a collection 【发布时间】:2022-01-18 22:39:44 【问题描述】:

我们有 Azure DevOps 2020。我有一个包含多个项目的集合。每个项目有多个repos,每个repo有多个分支

问题:我想在项目中找到所有具有特定文件的回购(例如:回购中的config.json

    是否可以使用 TFS.exe 或 我可以使用 REST API 来实现吗? 方向应该会有所帮助,我可以用 PowerShell 或 Python 编写脚本。

【问题讨论】:

【参考方案1】:

Azure DevOps 没有提供用于执行此查询的命令行。

如果在您的实例上启用了Azure DevOps Search with the Code Search extension,最简单的方法可能是使用它。这使您可以一次搜索集合中的所有项目。

如果这不适合您,您将需要使用 REST API 来查询集合中的所有项目,然后使用 query all the repositories in the project 和 grab the tree 并找到您需要的文件。

在本地克隆存储库并使用git 查找所需文件可能更简单。

【讨论】:

这似乎是合理的,除了我认为最后一句话应该说“本地克隆 所有存储库”,我同意这可能是“更简单”,但取决于那里有多少有多大,可能不是“更好”。 ;) 我相信代码搜索扩展仅限于已配置为搜索索引的分支。【参考方案2】:

我无法在我的环境中访问代码搜索。

所以我假设 tfs-git 存储库。

我会使用 powershell 和其他 api 来获取项目列表。 Foreach 项目,获取 tfs-git repos 的列表。 Foreach repo,在本地克隆它。然后,如果有少量 repos,我会按照前面的建议尝试 git search。如果这不起作用,我会回退到 Windows 搜索。

【讨论】:

以上是关于Azure DevOps 2020 - 从集合中的多个项目的存储库中查找文件的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps 项目管道无法从不同项目中的工件源访问 NuGet 包

Azure DevOps 集合级别自定义组

如何将复选框输入添加到 Azure DevOps 任务组?

未找到 Azure DevOps Server 2019/2020 访问级别页面

Azure DevOps 服务器 - 如何将现有集合/项目迁移到 SCRUM

如何从 Azure DevOps 中的文件夹(不是 zip)部署 WebApp