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

Azure DevOps 2020 - Find a file in a repo from multiple projects in a collection

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

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

  1. 是否可以使用 TFS.exe 或
  2. 实现此目的
  3. 我可以使用 REST API 实现吗? 方向应该有帮助,我可以用PowerShell或Python写脚本。

Azure DevOps 没有附带执行此查询的命令行。

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

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

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

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

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

我会使用 powershell 和其他 api 来获取项目列表。对于每个项目,获取 tfs-git 存储库列表。对于每个 repo,将其克隆到本地。然后,如果回购数量很少,我会尝试 git 按照之前的建议进行搜索。如果这不起作用,我会回退到 windows 搜索。