Git - Commit To Git

将工作区中所做的更改提交到连接的远程分支。
此 API 支持 长时间运行的作(LRO)

若要使用此 API,必须使用 更新我的 Git 凭据 API 配置调用方 Git 凭据。 可以使用 “获取我的 Git 凭据 API”来检查 Git 凭据配置。

可以选择提交所有更改或仅提交特定的已更改项。 若要首次同步工作区,请使用 连接初始化连接 API 之后的此 API。

权限

调用方必须具有 参与者 或更高版本的工作区角色。

所需的委派范围

Workspace.GitCommit.All。

Microsoft Entra 支持的标识

此 API 支持本节中列出的Microsoft 标识

身份 支持
用户 是的
服务主体托管标识 仅当作涉及的所有 都支持服务主体时才受支持

接口

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/commitToGit

URI 参数

名称 必需 类型 说明
workspaceId
path True

string (uuid)

工作区 ID。

请求正文

名称 必需 类型 说明
mode True

CommitMode

提交作的模式。

comment

string

maxLength: 300

此提交的无调用方注释。 最大长度为 300 个字符。 如果调用方未提供注释,请使用默认的 Git 提供程序注释。

items

ItemIdentifier[]

要提交的特定项。 这仅适用于选择性提交模式。 可以从 Git 状态 API 检索项。

workspaceHead

string

工作区要同步到的完整 SHA 哈希。 可以从 Git 状态 API 检索哈希。

响应

名称 类型 说明
200 OK

请求成功完成。

202 Accepted

请求已接受,正在进行提交到 Git。

标头

  • Location: string
  • x-ms-operation-id: string
  • Retry-After: integer
Other Status Codes

ErrorResponse

常见错误代码:

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

  • WorkspaceHasNoCapacityAssigned - 不向工作区分配容量。

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

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

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

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

示例

Commit all to Git example
Commit selective items to Git example

Commit all to Git example

示例请求

POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/commitToGit

{
  "mode": "All",
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "comment": "I'm committing all my changes."
}

示例响应

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

Commit selective items to Git example

示例请求

POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/commitToGit

{
  "mode": "Selective",
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "comment": "I'm committing specific changes.",
  "items": [
    {
      "logicalId": "111e8d7b-4a95-4c02-8ccd-6faef5ba1bd1",
      "objectId": "1153f3b4-dbb8-33c1-a84f-6ae4d776362d"
    },
    {
      "objectId": "7753f3b4-dbb8-44c1-a94f-6ae4d776369e"
    }
  ]
}

示例响应

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

定义

名称 说明
CommitMode

提交作的模式。 可能会随着时间的推移添加其他模式。

CommitToGitRequest

包含提交请求。

ErrorRelatedResource

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

ErrorResponse

错误响应。

ErrorResponseDetails

错误响应详细信息。

ItemIdentifier

包含项标识符。 必须至少定义一个属性。

CommitMode

提交作的模式。 可能会随着时间的推移添加其他模式。

说明
All

提交所有未提交的更改。 调用方不需要提供要提交的项列表。

Selective

提交具有未提交的更改的指定项列表。

CommitToGitRequest

包含提交请求。

名称 类型 说明
comment

string

maxLength: 300

此提交的无调用方注释。 最大长度为 300 个字符。 如果调用方未提供注释,请使用默认的 Git 提供程序注释。

items

ItemIdentifier[]

要提交的特定项。 这仅适用于选择性提交模式。 可以从 Git 状态 API 检索项。

mode

CommitMode

提交作的模式。

workspaceHead

string

工作区要同步到的完整 SHA 哈希。 可以从 Git 状态 API 检索哈希。

ErrorRelatedResource

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

名称 类型 说明
resourceId

string

错误中涉及的资源 ID。

resourceType

string

错误中涉及的资源的类型。

ErrorResponse

错误响应。

名称 类型 说明
errorCode

string

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

message

string

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

moreDetails

ErrorResponseDetails[]

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

relatedResource

ErrorRelatedResource

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

requestId

string

与错误关联的请求的 ID。

ErrorResponseDetails

错误响应详细信息。

名称 类型 说明
errorCode

string

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

message

string

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

relatedResource

ErrorRelatedResource

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

ItemIdentifier

包含项标识符。 必须至少定义一个属性。

名称 类型 说明
logicalId

string (uuid)

项的逻辑 ID。 如果逻辑 ID 不可用,因为该项尚未添加到工作区,则可以使用对象 ID。

objectId

string (uuid)

项的对象 ID。 当对象 ID 由于从工作区中删除了项而不可用时,可以使用逻辑 ID。