【问题标题】:Microsoft TFS Rest API for repository list does not return ssh URLs用于存储库列表的 Microsoft TFS Rest API 不返回 ssh URL
【发布时间】:2020-04-02 14:30:32
【问题描述】:

TFS 服务器版本:2017 兼容的 API 版本 https://docs.microsoft.com/en-us/rest/api/azure/devops/git/repositories/list?view=azure-devops-rest-4.1]

这将返回存储库的 HTTP 克隆链接,但不返回 ssh URL。此外,文档没有提到任何 API 选项来获得相同的结果。

是否有不包括 ssh URL 的 API?

同样,这不是 Visual Studio,而是 TFS 服务器。

【问题讨论】:

    标签: rest tfs


    【解决方案1】:

    确定是这样,就好像我打电话一样。 https://dev.azure.com/PeterLai0838/_apis/git/repositories?api-version=5.1

    我明白了

    "remoteUrl":"https://PeterLai0838@dev.azure.com/PeterLai0838/roboops/_git/roboops", "sshUrl":"git@ssh.dev.azure.com:v3/PeterLai0838/roboops/roboops", "webUrl":"https://dev.azure.com/PeterLai0838/roboops/_git/roboops"}]

    等等,我注意到您使用的是 4.1 api,也许使用 5.1?

    【讨论】:

    • 没错!我们确实使用新的 API 版本获得了 Azure DevOps 服务/服务器的 ssh URL。但 TFS 企业服务器并非如此。 TFS 服务器 v2017 支持 v1 到 v3 之间的 API 版本。
    • 嗯,那么可能不支持,您可以自己重新排列 https url 并创建 ssh ,它不会是 100%,但总比没有好。
    • 是的,那将是剩下的选择。很难理解为什么微软不再为旧 TFS 版本提供 Rest API 文档!
    • 也许值得下载旧版本,看看他们是否随 api 文档一起提供了它?你可能会很幸运。或者在你的情况下检查你的安装文件夹。
    • 在 2017 年发布时,它可能不是一个稳定的公共 API。 SSH 协议是在那个时候添加的。这个 API 当时可能处于预览阶段,这就是为什么在那个版本中没有记录它的原因。文档站点上仅记录了最新的预览版和最终版。
    【解决方案2】:

    TFS 2018 及更高版本支持 sshURL。您可以在以下网站提交功能请求:

    https://developercommunity.visualstudio.com/content/idea/post.html?space=22

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      • 2019-04-03
      • 2020-11-05
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多