【发布时间】:2022-11-29 17:06:30
【问题描述】:
如何使用 API 将 GitHub 存储库添加到 ADS (On-Prem) 连接。按照link 建立GitHub repos 和ADS 之间的连接(GitHub 连接)。我们可以手动添加回购,我们正在寻找 API 来添加回购。
是否有任何 API 可用于将 GitHub 存储库添加到 ADS 中的 GitHub 连接?
【问题讨论】:
标签: github azure-devops github-api ads-api
如何使用 API 将 GitHub 存储库添加到 ADS (On-Prem) 连接。按照link 建立GitHub repos 和ADS 之间的连接(GitHub 连接)。我们可以手动添加回购,我们正在寻找 API 来添加回购。
是否有任何 API 可用于将 GitHub 存储库添加到 ADS 中的 GitHub 连接?
【问题讨论】:
标签: github azure-devops github-api ads-api
没有记录的 REST API 可以执行此操作。但是当我查看 Developer Console 时,我发现确实有一个 REST API 可以使用现有的 GitHub 连接添加存储库:
POST https://dev.azure.com/{organization}/_apis/Contribution/HierarchyQuery?api-version=5.0-preview.1
这是一个示例请求正文:
{
"contributionIds": [
"ms.vss-work-web.github-unified-installation-experience-data-provider"
],
"dataProviderContext": {
"properties": {
"orgName": "{organization}",
"externalRepositoryExternalIds": [
"{RepositoryExternalIds}",
"{RepositoryExternalIds}"
],
"existingConnectionId": "{ConnectionId}",
"sourcePage": {
"url": "https://dev.azure.com/{organization}/{project}/_settings/boards-external-integration",
"routeId": "ms.vss-admin-web.project-admin-hub-route",
"routeValues": {
"project": "{project}",
"adminPivot": "boards-external-integration",
"controller": "ContributedPage",
"action": "Execute"
}
}
}
}
}
在externalRepositoryExternalIds部分,请注意,您需要包含所有所需的存储库 ID,而不仅仅是要添加的新存储库 ID.
其他可能有帮助的信息:如果您更改请求正文,REST API 将返回当前连接的所有存储库。这里有些例子:
{
"contributionIds": [
"ms.vss-work-web.azure-boards-external-connection-data-provider"
],
"dataProviderContext": {
"properties": {
"includeInvalidConnections": true,
"sourcePage": {
"url": "https://dev.azure.com/{organization}/{project}/_settings/boards-external-integration",
"routeId": "ms.vss-admin-web.project-admin-hub-route",
"routeValues": {
"project": "{project}",
"adminPivot": "boards-external-integration",
"controller": "ContributedPage",
"action": "Execute",
}
}
}
}
}
【讨论】: