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 参数

名称 在 必需 类型 说明
workspaceId
path True

string (uuid)

工作区 ID。

beta
query

boolean

true设置为启用 Beta 功能,包括部署计划支持。 如果省略或设置为 false,则仅可访问正式版功能,并且不接受部署计划输入。

请求正文

名称 必需 类型 说明
remoteCommitHash True

string

远程完整 SHA 提交哈希。

conflictResolution

WorkspaceConflictResolution

在 Git作的更新中使用的冲突解决。 如果项目存在冲突且未指定冲突解决,则更新作将不会启动。

options

UpdateOptions

在 Git作的更新中使用的选项

workspaceHead

string

工作区要同步到的完整 SHA 哈希。 此值仅在初始化连接后为 null。 在其他情况下,系统将验证给定值是否与系统已知的头部保持一致。

响应

名称 类型 说明
200 OK

请求成功完成。

202 Accepted

请求已接受,正在从 Git 进行更新。

标头

  • Location: string
  • x-ms-operation-id: string
  • Retry-After: integer
429 Too Many Requests

ErrorResponse

超出服务速率限制。 服务器返回一个 Retry-After 标头,指示客户端在发送其他请求之前必须等待的时间(以秒为单位)。

标头

Retry-After: integer

Other Status Codes

ErrorResponse

常见错误代码:

  • WorkspaceNotConnectedToGit - 工作区未连接到 git。

  • WorkspaceHasNoCapacityAssigned - 没有分配给工作区的容量。

  • WorkspaceHeadMismatch - 请求中的头与系统中的头不匹配。

  • WorkspacePreviousOperationInProgress - 以前的作仍在进行中。

  • MissingDependency - 更新作中缺少依赖项。

  • PotentialDuplicateDisplayNameAndType - 更新作将创建重复的显示名称和类型。

  • DependencyDeletionFailed - 更新作将删除硬依赖项。

  • InsufficientPrivileges - 调用方没有足够的工作区权限。

  • PrincipalTypeNotSupported - 不支持调用方标识类型。

示例

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

定义

名称 说明
ConflictResolutionPolicy

冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。

ConflictResolutionType

冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。

DeploymentPlanReferenceByItemId

按项 ID 引用部署计划。

DeploymentPlanReferenceByLogicalId

按逻辑 ID 引用部署计划。

DeploymentPlanReferenceType

部署计划引用类型。 可能会随着时间的推移添加其他 DeploymentPlanReferenceType 类型。

ErrorParameter

一个结构化参数,提供有关错误的附加计算机可读上下文。

ErrorRelatedResource

与错误相关的资源详细信息对象。

ErrorResponse

错误响应。

ErrorResponseDetails

错误响应详细信息。

ItemOptionsByLogicalIdEntry

按项选项条目,按逻辑 ID 定位其项。 每个目标项最多可以出现一次。

UpdateFromGitRequest

包含 Git 请求数据的更新。

UpdateOptions

包含从 Git 为更新启用的选项。

WorkspaceConflictResolution

基本冲突解决数据。

ConflictResolutionPolicy

冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。

值 说明
PreferRemote

首选远程 Git 端内容。

PreferWorkspace

首选工作区端内容。

ConflictResolutionType

冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。

值 说明
Workspace

表示工作区级别的冲突解决。

DeploymentPlanReferenceByItemId

按项 ID 引用部署计划。

名称 类型 说明
itemId

string (uuid)

部署计划项的项 ID。

referenceType string:

ByItemId

部署计划引用类型。

DeploymentPlanReferenceByLogicalId

按逻辑 ID 引用部署计划。

名称 类型 说明
logicalId

string (uuid)

部署计划项的逻辑 ID。

referenceType string:

ByLogicalId

部署计划引用类型。

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,可以重试请求。 Retry-After使用响应标头确定延迟(如果可用)。

message

string

错误的人工可读表示形式。

moreDetails

ErrorResponseDetails[]

其他错误详细信息的列表。

parameters

ErrorParameter[]

提供有关错误的其他计算机可读上下文的结构化参数。

relatedResource

ErrorRelatedResource

与错误相关的资源详细信息。

requestId

string (uuid)

与错误关联的请求的 ID。

ErrorResponseDetails

错误响应详细信息。

名称 类型 说明
errorCode

string

提供有关错误条件的信息的特定标识符,允许服务与其用户之间的标准化通信。

message

string

错误的人工可读表示形式。

parameters

ErrorParameter[]

提供有关错误的其他计算机可读上下文的结构化参数。

relatedResource

ErrorRelatedResource

与错误相关的资源详细信息。

ItemOptionsByLogicalIdEntry

按项选项条目,按逻辑 ID 定位其项。 每个目标项最多可以出现一次。

名称 类型 说明
logicalId

string (uuid)

目标项的逻辑 ID。

options

object

目标项的选项。 属性名称是项类型的有效选项名称;值为选项值。 有关特定项类型支持的选项,请参阅该项类型的 Update-Definition API 文档。

UpdateFromGitRequest

包含 Git 请求数据的更新。

名称 类型 说明
conflictResolution

WorkspaceConflictResolution

在 Git作的更新中使用的冲突解决。 如果项目存在冲突且未指定冲突解决,则更新作将不会启动。

options

UpdateOptions

在 Git作的更新中使用的选项

remoteCommitHash

string

远程完整 SHA 提交哈希。

workspaceHead

string

工作区要同步到的完整 SHA 哈希。 此值仅在初始化连接后为 null。 在其他情况下,系统将验证给定值是否与系统已知的头部保持一致。

UpdateOptions

包含从 Git 为更新启用的选项。

名称 类型 说明
allowOverrideItems

boolean

用户在 Git 过程中同意在更新过程中替代传入项。 当传入项存在且未指定允许替代项或作为 false 提供时,更新作将不会启动。 默认值为 false。

deploymentPlan DeploymentPlanReference:

对部署计划项的引用,用于协调部署。 提供后,计划控制项部署排序和执行部署前/后操作。 如果不存在或为 null,则操作的行为与今天一样。 目前,仅 ByLogicalId 支持引用类型。 部署计划支持目前为 Beta 版。 仅当查询参数 beta 设置为 true 并且可能会根据反馈更改时,才能使用此属性。

itemOptionsByLogicalId

ItemOptionsByLogicalIdEntry[]

每项更新选项。 每个条目按逻辑 ID 以其项为目标,并将其选项应用于该项。

WorkspaceConflictResolution

基本冲突解决数据。

名称 类型 说明
conflictResolutionPolicy

ConflictResolutionPolicy

冲突解决策略。 可能会随着时间的推移添加其他冲突解决策略。

conflictResolutionType

ConflictResolutionType

冲突解决类型。 可能会随着时间的推移添加其他冲突解决类型。