![](/img/trans.png)
[英]How to export process template and import into another organization using azure devops api?
[英]Import repository from one azure devops organization to another through the API
我正在尝试自动化我们组织中的一些流程,其中一部分包括能够将我们 azure devops 组织之一中的存储库转移到另一个组织(将其视为开发组织和测试组织,因此我们正在从开发人员推动到测试)
通过 API https://docs.microsoft.com/en-us/rest/api/azure/devops/git/import%20requests/create?view=azure-devops-rest-6.0我正在尝试创建导入请求.
这就是我难过的地方,文档并没有说太多。
如果我使用示例中的请求正文:
{
"parameters": {
"gitSource": {
"url": "https://github.com/Microsoft/vsts-agent.git"
}
}
}
只要我要导入一个空的存储库,导入请求就可以正常工作。 但是我需要能够同步现有的存储库。 [文档中有一个名为 overwrite 的属性似乎是为此目的][1]:https://i.stack.imgur.com/ezCB3.png
唯一的问题是当我将其添加到请求正文并设置为 true
{
"parameters": {
"gitSource": {
"url": "https://github.com/Microsoft/vsts-agent.git",
"overwrite": true
}
}
}
我收到错误的请求消息,提示参数组合无效如果存储库不是空的,我会收到一条错误消息,说我只能导入一个空的存储库。
所以看起来这个属性正是我正在做的事情,但是当该属性设置为 true 以使请求成功时,似乎需要更多参数,但是这方面的文档缺乏。
任何帮助将非常感激
我怀疑overwrite = true
会给您带来错误,因为您的后一个仓库中可能存在一些权限问题或 Auth 问题。
或者,您可以分叉您的父存储库并仅同步提供的 refs :
CURL:
POST https://dev.azure.com/{organization}/_apis/git/repositories?sourceRef=users/heads/master&api-version=6.0
请求正文:
{
"name": "forkRepositoryWithOnlySourceRef",
"project": {
"id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
},
"parentRepository": {
"id": "76b510af-7910-4a96-9902-b978d6226bee"
}
}
示例响应(HTTP 201):
{
"id": "29230c30-9125-459b-a3f6-ffab329053bd",
"name": "forkRepositoryWithOnlySourceRef",
"url": "https://dev.azure.com/fabrikam/MyFirstProject/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd",
"project": {
"id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90",
"name": "MyFirstProject",
"url": "https://dev.azure.com/fabrikam/_apis/projects/3b046b6a-d070-4cd5-ad59-2eace5d05b90",
"state": "wellFormed",
"revision": 12,
"visibility": "private",
"defaultTeamImageUrl": null
},
"size": 0,
"remoteUrl": "https://dev.azure.com/fabrikam/MyFirstProject/_git/forkRepositoryWithOnlySourceRef",
"sshUrl": "git@ssh.dev.azure.com:v3/fabrikam/MyFirstProject/forkRepositoryWithOnlySourceRef",
"isFork": true,
"_links": {
"forkSyncOperation": {
"href": "https://dev.azure.com/fabrikam/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd/forkSyncRequests/7"
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.