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 Server 2019/2020 访问级别页面