如何使用 Azure DevOps REST API 创建父存储库的分支?

How to create a fork of a parent repository using Azure DevOps REST API?

我们如何创建一个新的存储库来复制父存储库中的所有内容?我已经尝试分叉现有存储库,但 REST API 抛出 400 Bad Request 异常。

Microsoft 文档 here 中提供的示例请求未按预期工作并抛出以下异常。

{
    "$id": "1",
    "innerException": null,
    "message": "A team project ID or name is required in the URL or request body.\r\nParameter name: ProjectReference",
    "typeName": "Microsoft.TeamFoundation.SourceControl.WebServer.InvalidArgumentValueException, Microsoft.TeamFoundation.SourceControl.WebServer",
    "typeKey": "InvalidArgumentValueException",
    "errorCode": 0,
    "eventId": 0
}

How to create a fork of a parent repository using Azure DevOps REST API?

我可以使用示例请求正文重现此问题。

要解决此问题,请尝试将项目的name替换为ID:

{
  "name": "forkRepository",
  "project": {
    "id": "MyFirstProject_ID"
  },
  "parentRepository": {
    "name": "MyFirstRepo",
    "project": {
      "id": "MyFirstProject_ID"
    }
  }
}

我的测试结果:

以及分叉回购: