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 パラメーター
| 名前 | / | 必須 | 型 | 説明 |
|---|---|---|---|---|
|
workspace
|
path | True |
string (uuid) |
ワークスペース ID。 |
要求本文
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
| mode | True |
コミット操作のモード。 |
|
| comment |
string maxLength: 300 |
このコミットの呼び出し元なしのコメント。 最大長は 300 文字です。 呼び出し元からコメントが指定されていない場合は、既定の Git プロバイダー コメントを使用します。 |
|
| items |
コミットする特定の項目。 これは、選択的コミット モードにのみ関連します。 itemsWithFileSelection と相互に排他的です。 項目は Git Status API から取得できます。 |
||
| itemsWithFileSelection |
FileLevelSelective コミット モードでファイルごとに選択されている項目。 項目と相互に排他的です。 各エントリは、コミットする項目と必要に応じてファイル パスの一覧を指定します。 selectedFiles がアイテムに対して null または空の場合、その項目のすべてのファイルがコミットされます。 |
||
| workspaceHead |
string |
ワークスペースが同期されている完全な SHA ハッシュ。 ハッシュは Git Status API から取得できます。 |
応答
| 名前 | 型 | 説明 |
|---|---|---|
| 200 OK |
要求は正常に完了しました。 |
|
| 202 Accepted |
承諾を要求し、進行中の Git にコミットします。 ヘッダー
|
|
| 429 Too Many Requests |
サービス レートの制限を超えました。 サーバーは、クライアントが追加の要求を送信するまでに待機する必要がある時間を秒単位で示す ヘッダー Retry-After: integer |
|
| Other Status Codes |
一般的なエラー コード:
|
例
| 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
定義
| 名前 | 説明 |
|---|---|
|
Commit |
コミット操作のモード。 時間の経過と伴って追加のモードが追加される場合があります。 |
|
Commit |
コミット要求を格納します。 |
|
Error |
エラー関連のリソース詳細オブジェクト。 |
|
Error |
エラー応答。 |
|
Error |
エラー応答の詳細。 |
|
Item |
アイテム識別子を格納します。 少なくとも 1 つのプロパティを定義する必要があります。 |
|
Item |
コミット操作のオプションのファイル レベルの選択を含む項目識別子を格納します。 |
CommitMode
コミット操作のモード。 時間の経過と伴って追加のモードが追加される場合があります。
| 値 | 説明 |
|---|---|
| All |
コミットされていないすべての変更をコミットします。 呼び出し元は、コミットする項目の一覧を指定する必要はありません。 |
| Selective |
コミットされていない変更がある項目の指定したリストをコミットします。 アイテムを指定するには、 |
| FileLevelSelective |
指定したアイテム内の指定したファイルをコミットします。
|
CommitToGitRequest
コミット要求を格納します。
| 名前 | 型 | 説明 |
|---|---|---|
| comment |
string maxLength: 300 |
このコミットの呼び出し元なしのコメント。 最大長は 300 文字です。 呼び出し元からコメントが指定されていない場合は、既定の Git プロバイダー コメントを使用します。 |
| items |
コミットする特定の項目。 これは、選択的コミット モードにのみ関連します。 itemsWithFileSelection と相互に排他的です。 項目は Git Status API から取得できます。 |
|
| itemsWithFileSelection |
FileLevelSelective コミット モードでファイルごとに選択されている項目。 項目と相互に排他的です。 各エントリは、コミットする項目と必要に応じてファイル パスの一覧を指定します。 selectedFiles がアイテムに対して null または空の場合、その項目のすべてのファイルがコミットされます。 |
|
| mode |
コミット操作のモード。 |
|
| workspaceHead |
string |
ワークスペースが同期されている完全な SHA ハッシュ。 ハッシュは Git Status API から取得できます。 |
ErrorRelatedResource
エラー関連のリソース詳細オブジェクト。
| 名前 | 型 | 説明 |
|---|---|---|
| resourceId |
string |
エラーに関係するリソース ID。 |
| resourceType |
string |
エラーに関係するリソースの種類。 |
ErrorResponse
エラー応答。
| 名前 | 型 | 説明 |
|---|---|---|
| errorCode |
string |
エラー状態に関する情報を提供し、サービスとそのユーザー間の標準化された通信を可能にする特定の識別子。 |
| isRetriable |
boolean |
true の場合、要求を再試行できます。
|
| message |
string |
エラーの人間が判読できる表現。 |
| moreDetails |
その他のエラーの詳細の一覧。 |
|
| relatedResource |
エラー関連のリソースの詳細。 |
|
| requestId |
string (uuid) |
エラーに関連付けられている要求の ID。 |
ErrorResponseDetails
エラー応答の詳細。
| 名前 | 型 | 説明 |
|---|---|---|
| errorCode |
string |
エラー状態に関する情報を提供し、サービスとそのユーザー間の標準化された通信を可能にする特定の識別子。 |
| message |
string |
エラーの人間が判読できる表現。 |
| relatedResource |
エラー関連のリソースの詳細。 |
ItemIdentifier
アイテム識別子を格納します。 少なくとも 1 つのプロパティを定義する必要があります。
| 名前 | 型 | 説明 |
|---|---|---|
| logicalId |
string (uuid) |
項目の論理 ID。 アイテムがまだワークスペースに追加されていないために論理 ID を使用できない場合は、オブジェクト ID を使用できます。 |
| objectId |
string (uuid) |
項目のオブジェクト ID。 アイテムがワークスペースから削除されたためにオブジェクト ID を使用できない場合は、論理 ID を使用できます。 |
ItemIdentifierWithFileSelection
コミット操作のオプションのファイル レベルの選択を含む項目識別子を格納します。
| 名前 | 型 | 説明 |
|---|---|---|
| logicalId |
string (uuid) |
項目の論理 ID。 アイテムがまだワークスペースに追加されていないために論理 ID を使用できない場合は、オブジェクト ID を使用できます。 |
| objectId |
string (uuid) |
項目のオブジェクト ID。 アイテムがワークスペースから削除されたためにオブジェクト ID を使用できない場合は、論理 ID を使用できます。 |
| selectedFiles |
string[] |
コミットするファイル パス (項目ルートを基準)。 パスはスラッシュのみを使用し、先頭のスラッシュは使用せず、完全なファイル パスのみ (ディレクトリまたはワイルドカードなし)、空白または空白のみのセグメントは使用せず、セグメントはドットまたは末尾の空白で終わることはできません。 null または空の場合、この項目のすべてのファイルがコミットされます。 |