BitBucket - 如何从服务器检索所有存储库 url

BitBucket - How to retrieve all repository urls from a server

有没有办法从给定的 BitBucket 服务器检索所有远程 url。

我们有很多应用程序正在从现有的 SCM 迁移到 BitBucket。我们的 BB 管理员正在 BitBucket 服务器上为我们创建存储库。

然后我们将通过转到 Web 界面为每个存储库获取类似于 (ssh://git@ourserver.com:7999/sample/template-repo.git) 的 ssh url。然后,我们 select 我们要用于该存储库的存储库 运行,select 克隆 -> 该存储库的 ssh 协议并复制信息。然后,此 url 将用于使用当前 SCM 应用程序中的文件填充存储库的过程。

我查看了 ls-remote,但我认为那是为了不同的目的。

我想知道是否有任何命令行 git 命令可以一次性提供给定服务器的所有存储库 url 的列表,我可以将其保存在文本文件中并在我的过渡过程中使用它们。我是 git 的新手,几周前才开始使用它。我还没有找到这样做的命令。

感谢任何关于如何做的帮助或任何可以指导我实现我的目标的资源。

那不是 git 命令,它没有 "server" 的概念(它只处理单个 git 存储库)

您可以尝试使用 Bitbucket Server REST APIs 并查看是否可以通过这种方式获得存储库列表(提供您的身份验证可以访问 all 存储库)。
它的 supported API endpoints includes projects and projects/repos.

 curl -u fred:fred http://<yourBitBucketServer>/rest/api/1.0/projects

您可以尝试使用 Bitbucket RestAPI 来检索每个存储库的详细信息(网址、分支等)。

示例 1 从特定工作区获取所有存储库数据

curl -u {credentials} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1'

示例 2 从特定工作区的所有存储库中获取特定数据(存储库名称)

curl -u ${credential} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1&fields=values.full_name'

这里还有一个我给的例子。 https://www.svastikkka.com/2020/12/how-to-fetch-all-repositories-of-any.html