Git - Commit To Git

ワークスペースで行われた変更を、接続されたリモート ブランチにコミットします。
この API は、実行時間の長い操作 (LRO)をサポートします。

この API を使用するには、呼び出し元の Git 資格情報を Update My Git Credentials API を使用して構成する必要があります。 Get My Git Credentials API を使用して、Git 資格情報の構成を確認できます。

FileLevelSelective モードを使用して、アイテム内のすべての変更、特定の項目、または特定のファイルをコミットすることができます。 ワークスペースを初めて同期するには、 接続 API と Initialize Connection API の後にこの API を使用します。

権限

呼び出し元には、共同作成者 以上のワークスペース ロールが必要です。

必要な委任されたスコープ

Workspace.GitCommit.All。

Microsoft Entra でサポートされている ID

この API では、このセクションに記載されている Microsoft ID がサポートされています。

アイデンティティ 支援
ユーザー イエス
サービス プリンシパルの とマネージド ID の 操作に関係するすべての 項目 がサービス プリンシパルをサポートしている場合にのみサポートされます

インターフェイス

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

URI パラメーター

Name / 必須 型 説明
workspaceId
path True

string (uuid)

ワークスペース ID。

要求本文

Name 必須 型 説明
mode True

CommitMode

コミット操作のモード。

comment

string

maxLength: 300

このコミットの呼び出し元なしのコメント。 最大長は 300 文字です。 呼び出し元からコメントが指定されていない場合は、既定の Git プロバイダー コメントを使用します。

items

ItemIdentifier[]

コミットする特定の項目。 これは、選択的コミット モードにのみ関連します。 itemsWithFileSelection と相互に排他的です。 項目は Git Status API から取得できます。

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

FileLevelSelective コミット モードでファイルごとに選択されている項目。 項目と相互に排他的です。 各エントリは、コミットする項目と必要に応じてファイル パスの一覧を指定します。 selectedFiles がアイテムに対して null または空の場合、その項目のすべてのファイルがコミットされます。

workspaceHead

string

ワークスペースが同期されている完全な SHA ハッシュ。 ハッシュは Git Status API から取得できます。

応答

Name 型 説明
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 - 前の操作はまだ進行中です。

  • InsufficientPrivileges - 呼び出し元に十分なワークスペースアクセス許可がありません。

  • PrincipalTypeNotSupported - 呼び出し元 ID の種類はサポートされていません。

例

Commit all to Git example
Commit file-level selective 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 file-level selective to Git example

要求のサンプル

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

{
  "mode": "FileLevelSelective",
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "comment": "Commit only the metadata change from MyNotebook",
  "itemsWithFileSelection": [
    {
      "objectId": "cfafbeb1-8037-4d0c-896e-28c4f2e65573",
      "selectedFiles": [
        "metadata.json"
      ]
    },
    {
      "objectId": "d5a2b3c4-1234-5678-abcd-ef0123456789",
      "selectedFiles": []
    }
  ]
}

応答のサンプル

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

定義

Name 説明
CommitMode

コミット操作のモード。 時間の経過と伴って追加のモードが追加される場合があります。

CommitToGitRequest

コミット要求を格納します。

ErrorParameter

エラーに関する追加のコンピューター読み取り可能なコンテキストを提供する構造化パラメーター。

ErrorRelatedResource

エラー関連のリソース詳細オブジェクト。

ErrorResponse

エラー応答。

ErrorResponseDetails

エラー応答の詳細。

ItemIdentifier

アイテム識別子を格納します。 少なくとも 1 つのプロパティを定義する必要があります。

ItemIdentifierWithFileSelection

コミット操作のオプションのファイル レベルの選択を含む項目識別子を格納します。

CommitMode

コミット操作のモード。 時間の経過と伴って追加のモードが追加される場合があります。

値 説明
All

コミットされていないすべての変更をコミットします。 呼び出し元は、コミットする項目の一覧を指定する必要はありません。

Selective

コミットされていない変更がある項目の指定したリストをコミットします。 アイテムを指定するには、 items プロパティを使用します。

FileLevelSelective

指定したアイテム内の指定したファイルをコミットします。 itemsWithFileSelection プロパティを使用して、項目とファイルを指定します。

CommitToGitRequest

コミット要求を格納します。

Name 型 説明
comment

string

maxLength: 300

このコミットの呼び出し元なしのコメント。 最大長は 300 文字です。 呼び出し元からコメントが指定されていない場合は、既定の Git プロバイダー コメントを使用します。

items

ItemIdentifier[]

コミットする特定の項目。 これは、選択的コミット モードにのみ関連します。 itemsWithFileSelection と相互に排他的です。 項目は Git Status API から取得できます。

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

FileLevelSelective コミット モードでファイルごとに選択されている項目。 項目と相互に排他的です。 各エントリは、コミットする項目と必要に応じてファイル パスの一覧を指定します。 selectedFiles がアイテムに対して null または空の場合、その項目のすべてのファイルがコミットされます。

mode

CommitMode

コミット操作のモード。

workspaceHead

string

ワークスペースが同期されている完全な SHA ハッシュ。 ハッシュは Git Status API から取得できます。

ErrorParameter

エラーに関する追加のコンピューター読み取り可能なコンテキストを提供する構造化パラメーター。

Name 型 説明
message

string

パラメーターの意味を人間が判読できる説明。

name

string

パラメータ識別子です。

value

string

パラメーターの値を指定します。

ErrorRelatedResource

エラー関連のリソース詳細オブジェクト。

Name 型 説明
resourceId

string

エラーに関係するリソース ID。

resourceType

string

エラーに関係するリソースの種類。

ErrorResponse

エラー応答。

Name 型 説明
errorCode

string

エラー状態に関する情報を提供し、サービスとそのユーザー間の標準化された通信を可能にする特定の識別子。

isRetriable

boolean

true の場合、要求を再試行できます。 Retry-After応答ヘッダーを使用して、遅延 (使用可能な場合) を決定します。

message

string

エラーの人間が判読できる表現。

moreDetails

ErrorResponseDetails[]

その他のエラーの詳細の一覧。

parameters

ErrorParameter[]

エラーに関する追加のコンピューター読み取り可能なコンテキストを提供する構造化パラメーター。

relatedResource

ErrorRelatedResource

エラー関連のリソースの詳細。

requestId

string (uuid)

エラーに関連付けられている要求の ID。

ErrorResponseDetails

エラー応答の詳細。

Name 型 説明
errorCode

string

エラー状態に関する情報を提供し、サービスとそのユーザー間の標準化された通信を可能にする特定の識別子。

message

string

エラーの人間が判読できる表現。

parameters

ErrorParameter[]

エラーに関する追加のコンピューター読み取り可能なコンテキストを提供する構造化パラメーター。

relatedResource

ErrorRelatedResource

エラー関連のリソースの詳細。

ItemIdentifier

アイテム識別子を格納します。 少なくとも 1 つのプロパティを定義する必要があります。

Name 型 説明
logicalId

string (uuid)

項目の論理 ID。 アイテムがまだワークスペースに追加されていないために論理 ID を使用できない場合は、オブジェクト ID を使用できます。

objectId

string (uuid)

項目のオブジェクト ID。 アイテムがワークスペースから削除されたためにオブジェクト ID を使用できない場合は、論理 ID を使用できます。

ItemIdentifierWithFileSelection

コミット操作のオプションのファイル レベルの選択を含む項目識別子を格納します。

Name 型 説明
logicalId

string (uuid)

項目の論理 ID。 アイテムがまだワークスペースに追加されていないために論理 ID を使用できない場合は、オブジェクト ID を使用できます。

objectId

string (uuid)

項目のオブジェクト ID。 アイテムがワークスペースから削除されたためにオブジェクト ID を使用できない場合は、論理 ID を使用できます。

selectedFiles

string[]

コミットするファイル パス (項目ルートを基準)。 パスはスラッシュのみを使用し、先頭のスラッシュは使用せず、完全なファイル パスのみ (ディレクトリまたはワイルドカードなし)、空白または空白のみのセグメントは使用せず、セグメントはドットまたは末尾の空白で終わることはできません。 null または空の場合、この項目のすべてのファイルがコミットされます。