Git - Update From Git
使用推送到连接的分支的提交更新工作区。
Note
此 API 中的部署计划支持是 Beta 版的一部分,仅用于评估和开发目的。 它可能会根据反馈进行更改,不建议将其用于生产。 此 API 的所有其他功能已正式发布。
若要使用部署计划支持,调用方必须指定 true 为查询参数 beta的值。
此 API 支持 长时间运行的作(LRO)。
若要使用此 API,必须使用 更新我的 Git 凭据 API 配置调用方 Git 凭据。 可以使用 “获取我的 Git 凭据 API”来检查 Git 凭据配置。
更新仅影响这些提交中已更改的工作区中的项。 如果在 连接 和 初始化连接 API 后调用,它将执行整个工作区的完整更新。
权限
调用方必须具有 参与者 或更高版本的工作区角色。
所需的委派范围
Workspace.GitUpdate.All
Microsoft Entra 支持的标识
此 API 支持本节中列出的Microsoft 标识。
| 身份 | 支持 |
|---|---|
| 用户 | 是的 |
| 服务主体 和 托管标识 | 仅当作涉及的所有 项 都支持服务主体时才受支持 |
接口
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/updateFromGit
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/updateFromGit?beta={beta}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
workspace
|
path | True |
string (uuid) |
工作区 ID。 |
|
beta
|
query |
boolean |
|
请求正文
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| remoteCommitHash | True |
string |
远程完整 SHA 提交哈希。 |
| conflictResolution |
在 Git作的更新中使用的冲突解决。 如果项目存在冲突且未指定冲突解决,则更新作将不会启动。 |
||
| options |
在 Git作的更新中使用的选项 |
||
| workspaceHead |
string |
工作区要同步到的完整 SHA 哈希。 此值仅在初始化连接后为 null。 在其他情况下,系统将验证给定值是否与系统已知的头部保持一致。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求成功完成。 |
|
| 202 Accepted |
请求已接受,正在从 Git 进行更新。 标头
|
|
| 429 Too Many Requests |
超出服务速率限制。 服务器返回一个 标头 Retry-After: integer |
|
| Other Status Codes |
常见错误代码:
|
示例
| Update a workspace from Git with options example |
| Update a workspace using data from a Git example |
| Update a workspace using data from a Git with a deployment plan example |
Update a workspace from Git with options example
示例请求
POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit
{
"workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
"remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
"conflictResolution": {
"conflictResolutionType": "Workspace",
"conflictResolutionPolicy": "PreferWorkspace"
},
"options": {
"allowOverrideItems": true,
"itemOptionsByLogicalId": [
{
"logicalId": "88436e65-6ed1-8185-49ff-f61077fc73d4",
"options": {
"validateOnly": true
}
}
]
}
}
示例响应
Location: https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
x-ms-operation-id: 431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
Retry-After: 30
Update a workspace using data from a Git example
示例请求
POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit
{
"workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
"remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
"conflictResolution": {
"conflictResolutionType": "Workspace",
"conflictResolutionPolicy": "PreferWorkspace"
},
"options": {
"allowOverrideItems": true
}
}
示例响应
Location: https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
x-ms-operation-id: 431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
Retry-After: 30
Update a workspace using data from a Git with a deployment plan example
示例请求
POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit
{
"workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
"remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
"conflictResolution": {
"conflictResolutionType": "Workspace",
"conflictResolutionPolicy": "PreferWorkspace"
},
"options": {
"allowOverrideItems": true,
"deploymentPlan": {
"referenceType": "ByLogicalId",
"logicalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
}
示例响应
Location: https://api.fabric.microsoft.com/v1/operations/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
x-ms-operation-id: 431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7
Retry-After: 30
定义
| 名称 | 说明 |
|---|---|
|
Conflict |
冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。 |
|
Conflict |
冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。 |
|
Deployment |
按项 ID 引用部署计划。 |
|
Deployment |
按逻辑 ID 引用部署计划。 |
|
Deployment |
部署计划引用类型。 可能会随着时间的推移添加其他 |
|
Error |
一个结构化参数,提供有关错误的附加计算机可读上下文。 |
|
Error |
与错误相关的资源详细信息对象。 |
|
Error |
错误响应。 |
|
Error |
错误响应详细信息。 |
|
Item |
按项选项条目,按逻辑 ID 定位其项。 每个目标项最多可以出现一次。 |
|
Update |
包含 Git 请求数据的更新。 |
|
Update |
包含从 Git 为更新启用的选项。 |
|
Workspace |
基本冲突解决数据。 |
ConflictResolutionPolicy
冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。
| 值 | 说明 |
|---|---|
| PreferRemote |
首选远程 Git 端内容。 |
| PreferWorkspace |
首选工作区端内容。 |
ConflictResolutionType
冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。
| 值 | 说明 |
|---|---|
| Workspace |
表示工作区级别的冲突解决。 |
DeploymentPlanReferenceByItemId
按项 ID 引用部署计划。
| 名称 | 类型 | 说明 |
|---|---|---|
| itemId |
string (uuid) |
部署计划项的项 ID。 |
| referenceType |
string:
By |
部署计划引用类型。 |
DeploymentPlanReferenceByLogicalId
按逻辑 ID 引用部署计划。
| 名称 | 类型 | 说明 |
|---|---|---|
| logicalId |
string (uuid) |
部署计划项的逻辑 ID。 |
| referenceType |
string:
By |
部署计划引用类型。 |
DeploymentPlanReferenceType
部署计划引用类型。 可能会随着时间的推移添加其他 DeploymentPlanReferenceType 类型。
| 值 | 说明 |
|---|---|
| ByItemId |
部署计划由其项 ID 引用。 |
| ByLogicalId |
部署计划由其逻辑 ID 引用。 |
ErrorParameter
一个结构化参数,提供有关错误的附加计算机可读上下文。
| 名称 | 类型 | 说明 |
|---|---|---|
| message |
string |
参数含义的可读说明。 |
| name |
string |
参数标识符。 |
| value |
string |
参数值。 |
ErrorRelatedResource
与错误相关的资源详细信息对象。
| 名称 | 类型 | 说明 |
|---|---|---|
| resourceId |
string |
错误中涉及的资源 ID。 |
| resourceType |
string |
错误中涉及的资源的类型。 |
ErrorResponse
错误响应。
| 名称 | 类型 | 说明 |
|---|---|---|
| errorCode |
string |
提供有关错误条件的信息的特定标识符,允许服务与其用户之间的标准化通信。 |
| isRetriable |
boolean |
如果为 true,可以重试请求。
|
| message |
string |
错误的人工可读表示形式。 |
| moreDetails |
其他错误详细信息的列表。 |
|
| parameters |
提供有关错误的其他计算机可读上下文的结构化参数。 |
|
| relatedResource |
与错误相关的资源详细信息。 |
|
| requestId |
string (uuid) |
与错误关联的请求的 ID。 |
ErrorResponseDetails
错误响应详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| errorCode |
string |
提供有关错误条件的信息的特定标识符,允许服务与其用户之间的标准化通信。 |
| message |
string |
错误的人工可读表示形式。 |
| parameters |
提供有关错误的其他计算机可读上下文的结构化参数。 |
|
| relatedResource |
与错误相关的资源详细信息。 |
ItemOptionsByLogicalIdEntry
按项选项条目,按逻辑 ID 定位其项。 每个目标项最多可以出现一次。
| 名称 | 类型 | 说明 |
|---|---|---|
| logicalId |
string (uuid) |
目标项的逻辑 ID。 |
| options |
object |
目标项的选项。 属性名称是项类型的有效选项名称;值为选项值。 有关特定项类型支持的选项,请参阅该项类型的 |
UpdateFromGitRequest
包含 Git 请求数据的更新。
| 名称 | 类型 | 说明 |
|---|---|---|
| conflictResolution |
在 Git作的更新中使用的冲突解决。 如果项目存在冲突且未指定冲突解决,则更新作将不会启动。 |
|
| options |
在 Git作的更新中使用的选项 |
|
| remoteCommitHash |
string |
远程完整 SHA 提交哈希。 |
| workspaceHead |
string |
工作区要同步到的完整 SHA 哈希。 此值仅在初始化连接后为 null。 在其他情况下,系统将验证给定值是否与系统已知的头部保持一致。 |
UpdateOptions
包含从 Git 为更新启用的选项。
| 名称 | 类型 | 说明 |
|---|---|---|
| allowOverrideItems |
boolean |
用户在 Git 过程中同意在更新过程中替代传入项。 当传入项存在且未指定允许替代项或作为 false 提供时,更新作将不会启动。 默认值为 false。 |
| deploymentPlan | DeploymentPlanReference: |
对部署计划项的引用,用于协调部署。 提供后,计划控制项部署排序和执行部署前/后操作。 如果不存在或为 null,则操作的行为与今天一样。 目前,仅 |
| itemOptionsByLogicalId |
每项更新选项。 每个条目按逻辑 ID 以其项为目标,并将其选项应用于该项。 |
WorkspaceConflictResolution
基本冲突解决数据。
| 名称 | 类型 | 说明 |
|---|---|---|
| conflictResolutionPolicy |
冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。 |
|
| conflictResolutionType |
冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。 |