使用ConnectToGit和DisconnectFromGitAPI,以编程方式将您的 Microsoft Dataverse 环境与 Git 版本控制集成。 使用这些 API,可以将单个解决方案或整个环境连接到 Azure DevOps 上托管的 Git 存储库,并通过代码管理这些连接。
重要
Azure DevOps 目前是唯一受支持的 Git 提供程序。
先决条件
使用这些 API 之前,请确保具备:
- 访问 Microsoft Dataverse 环境
- 系统管理员权限
- 对 Git 存储库的读取和写入访问权限
ConnectToGit API
在 Dataverse 解决方案或环境与 Git 存储库之间创建连接。 使用此连接,可以管理 Dataverse 组件的源代码管理。
参数
API ConnectToGit 接受以下参数:
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
GitFolder |
String | 是的 | 要将解决方案或环境绑定到的文件夹的名称。 |
Branch |
String | 是的 | 要连接到的分支的名称。 |
ConnectionType |
整数 | 否 | 指定要连接的目标。 请参阅 ConnectionType 参数。 |
GitProvider |
整数 | 否 | Git 提供商。 请参阅 GitProvider 参数。 |
Organization |
String | 否 | 要连接到的组织的名称。 |
Project |
String | 否 | 要连接到的项目的名称。 |
Repository |
String | 否 | 要连接到的存储库的名称。 |
RootFolder |
String | 否 | 在解决方案范围内,所有解决方案所在的根文件夹名称。 |
SolutionUniqueName |
String | 否 | 要连接到 git 的解决方案的唯一名称。 |
UpstreamBranch |
String | 否 | 要连接到的上游分支的名称。 默认为存储库的默认分支。 |
ConnectionType 参数
参数 ConnectionType 控制是连接到整个 Dataverse 环境还是特定解决方案。
| 价值 | 标签 | 说明 |
|---|---|---|
| 0 | 解决方案 | 将特定的 Dataverse 解决方案连接到 Git。 |
| 1 | 环境 | 将整个 Dataverse 环境连接到 Git。 |
GitProvider 参数
使用 GitProvider 参数指定正在使用的 Git 提供程序的类型,即 Azure DevOps 或 GitHub。
| 价值 | 标签 | 说明 |
|---|---|---|
| 0 | Azure DevOps | 适用于 Azure DevOps 上托管的存储库 |
| 1 | GitHub | 用于托管在 GitHub 上的存储库 |
DisconnectFromGit API
从 Dataverse 解决方案或环境中删除 Git 连接,并禁用源代码管理集成。
参数
DisconnectFromGit API 只有一个参数。
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
SolutionUniqueName |
String | 否 | 要从 Git 断开连接的解决方案的唯一名称。 若省略此项,将断开所有解决方案或该环境的连接。 |
其他信息
下面是在调用 DisconnectFromGit时要指定的几个参数值选项。
-
断开某一解决方案的连接:提供
SolutionUniqueName方法以断开特定解决方案的连接。 - 断开所有解决方案:不提供参数以断开所有解决方案级别的连接。
- 断开环境连接:不提供任何参数以断开环境级别的连接。
示例
以下示例介绍使用 ConnectToGit 和 DisconnectFromGit API 的方案:
- 将整个 Dataverse 环境连接到 Azure DevOps 存储库
- 断开整个 Dataverse 环境与 Git 源代码管理的连接
- 将第一个解决方案连接到 Git 存储库
- 连接初始解决方案后,将额外解决方案连接到同一 Git 存储库
- 断开特定解决方案与 Git 源代码管理的连接,同时使其他解决方案保持连接
将整个 Dataverse 环境连接到 Azure DevOps 存储库
此连接为所有环境级配置和组件启用源代码管理。
不要与此连接使用这些参数:
RootFolderSolutionUniqueNameUpstreamBranch
此示例演示如何使用 ConnectToGit 操作 将整个 Dataverse 环境连接到 Azure DevOps 存储库。
请求
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName"
}
响应
HTTP/1.1 204 No Content
OData-Version: 4.0
断开整个 Dataverse 环境与 Git 源代码管理的连接
此操作将删除环境级 Git 连接。 请勿在此操作中使用SolutionUniqueName参数。 Dataverse 会自动标识和删除环境级 Git 连接。
此示例演示如何使用 DisconnectFromGit 操作 断开整个 Dataverse 环境与 Git 源代码管理的连接。
请求
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
响应
HTTP/1.1 204 No Content
OData-Version: 4.0
将第一个解决方案连接到 Git 存储库
此连接会为环境中的第一个解决方案建立存储库链接及文件夹结构,用于解决方案级别的源代码控制。
需要包括这些参数的值才能指定解决方案:
RootFolderSolutionUniqueName
此示例演示如何使用 ConnectToGit 操作 将第一个解决方案连接到 Git 存储库。
请求
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"ConnectionType": 1,
"GitProvider": 0,
"Organization": "yourOrganizationName",
"Project": "yourProjectName",
"Repository": "yourRepositoryName",
"RootFolder": "yourRootFolderName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
响应
HTTP/1.1 204 No Content
OData-Version: 4.0
连接初始解决方案后,将额外解决方案连接到同一 Git 存储库
连接第一个解决方案后,只需要该解决方案的特定参数。 从初始连接继承了存储库连接信息。
仅设置以下参数:
SolutionUniqueNameBranchGitFolder
重要
您必须先连接第一个方案,然后此功能才能正常工作。 请参阅 将第一个解决方案连接到 Git 存储库。
此示例演示如何使用 ConnectToGit 操作 将后续解决方案连接到 Git 存储库。
请求
POST [Organization URI]/api/data/v9.2/ConnectToGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"GitFolder": "yourGitfolderName",
"Branch": "yourBranchName",
"SolutionUniqueName": "yourSolutionUniqueName"
}
响应
HTTP/1.1 204 No Content
OData-Version: 4.0
断开特定解决方案与 Git 源代码管理的连接,同时使其他解决方案保持连接
使用此方法可删除一个解决方案的源代码管理,而不会影响其他解决方案。
此示例演示如何使用 DisconnectFromGit 操作 删除一个解决方案的源代码管理,而不会影响其他解决方案。
请求
POST [Organization URI]/api/data/v9.2/DisconnectFromGit HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"SolutionUniqueName": "yourSolutionUniqueName"
}
响应
HTTP/1.1 204 No Content
OData-Version: 4.0
错误处理
ConnectToGit 和 DisconnectFromGit API 在成功完成后都不会返回一个值。 API 失败时,将返回错误。
常见错误场景包括:
- 无效凭据:请确保您对 Git 提供商的身份验证是有效的。
- 找不到存储库:验证组织、项目和存储库名称。
- 权限被拒绝:确保 Dataverse 帐户具有源代码管理权限。
-
找不到解决方案:验证
SolutionUniqueName环境中是否存在。 - 分支不存在:确认存储库中存在指定的分支。
支持和其他资源
有关源代码管理与 Dataverse 的集成的详细信息,请参阅: