Git - Commit To Git

Esegue il commit delle modifiche apportate nell'area di lavoro al ramo remoto connesso.
Questa API supporta operazioni con esecuzione prolungata (LRO).

Per usare questa API, è necessario configurare le credenziali Git del chiamante usando l'API Aggiorna credenziali Git personali. È possibile usare l'API Get My Git Credentials (Ottieni credenziali Git personali ) per controllare la configurazione delle credenziali Git.

È possibile scegliere di eseguire il commit di tutte le modifiche, elementi specifici o file specifici all'interno di elementi usando la modalità FileLevelSelective. Per sincronizzare l'area di lavoro per la prima volta, usare questa API dopo le API Di connessione connetti e inizializza .

Autorizzazioni

Il chiamante deve avere un ruolo di collaboratore o superiore dell'area di lavoro.

Ambiti delegati obbligatori

Workspace.GitCommit.All.

Identità supportate da Microsoft Entra

Questa API supporta le identità di Microsoft elencate in questa sezione.

Identità Assistenza
Utente Sì
Entità servizio e Identità gestite Supportato solo quando tutti gli elementi coinvolti nell'operazione supportano le entità servizio

Interfaccia

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
workspaceId
path True

string (uuid)

ID dell'area di lavoro.

Corpo della richiesta

Nome Necessario Tipo Descrizione
mode True

CommitMode

Modalità per l'operazione di commit.

comment

string

maxLength: 300

Commento senza chiamante per questo commit. La lunghezza massima è di 300 caratteri. Se non viene fornito alcun commento dal chiamante, usare il commento predefinito del provider Git.

items

ItemIdentifier[]

Elementi specifici da eseguire per il commit. Questo è rilevante solo per la modalità commit selettivo. Si escludono a vicenda con itemsWithFileSelection. Gli elementi possono essere recuperati dall'API Stato Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elementi con selezione per file per la modalità commit FileLevelSelective. Si escludono a vicenda con gli elementi. Ogni voce specifica un elemento e, facoltativamente, un elenco di percorsi di file da eseguire per il commit. Se selectedFiles è null o vuoto per un elemento, viene eseguito il commit di tutti i file per tale elemento.

workspaceHead

string

Hash SHA completo in cui è sincronizzata l'area di lavoro. L'hash può essere recuperato dall'API Stato Git .

Risposte

Nome Tipo Descrizione
200 OK

Richiesta completata correttamente.

202 Accepted

Richiesta accettata, commit in Git in corso.

Intestazioni

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

ErrorResponse

È stato superato il limite di velocità del servizio. Il server restituisce un'intestazione Retry-After che indica, in secondi, per quanto tempo il client deve attendere prima di inviare richieste aggiuntive.

Intestazioni

Retry-After: integer

Other Status Codes

ErrorResponse

Codici di errore comuni:

  • WorkspaceNotConnectedToGit: l'area di lavoro non è connessa a Git.

  • WorkspaceHasNoCapacityAssigned: nessuna capacità inserita nell'area di lavoro.

  • WorkspaceHeadMismatch: head nella richiesta non corrisponde all'intestazione nel sistema.

  • WorkspacePreviousOperationInProgress- L'operazione precedente è ancora in corso.

  • InsufficientPrivileges: il chiamante non dispone di autorizzazioni sufficienti per l'area di lavoro.

  • PrincipalTypeNotSupported: il tipo di identità del chiamante non è supportato.

Esempio

Commit all to Git example
Commit file-level selective to Git example
Commit selective items to Git example

Commit all to Git example

Esempio di richiesta

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."
}

Risposta di esempio

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

Esempio di richiesta

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": []
    }
  ]
}

Risposta di esempio

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

Esempio di richiesta

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"
    }
  ]
}

Risposta di esempio

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

Definizioni

Nome Descrizione
CommitMode

Modalità per l'operazione di commit. È possibile aggiungere altre modalità nel tempo.

CommitToGitRequest

Contiene la richiesta di commit.

ErrorParameter

Parametro strutturato che fornisce un contesto aggiuntivo leggibile dal computer relativo a un errore.

ErrorRelatedResource

Oggetto dettagli risorsa correlato all'errore.

ErrorResponse

Risposta di errore.

ErrorResponseDetails

Dettagli della risposta di errore.

ItemIdentifier

Contiene l'identificatore dell'elemento. È necessario definire almeno una delle proprietà.

ItemIdentifierWithFileSelection

Contiene l'identificatore dell'elemento con la selezione facoltativa a livello di file per le operazioni di commit.

CommitMode

Modalità per l'operazione di commit. È possibile aggiungere altre modalità nel tempo.

Valore Descrizione
All

Eseguire il commit di tutte le modifiche di cui non è stato eseguito il commit. Il chiamante non è necessario per fornire l'elenco di elementi di cui eseguire il commit.

Selective

Eseguire il commit di un elenco specificato di elementi con modifiche di cui non è stato eseguito il commit. Utilizzare la items proprietà per specificare gli elementi.

FileLevelSelective

Eseguire il commit dei file specificati all'interno di elementi specificati. Utilizzare la itemsWithFileSelection proprietà per specificare elementi e file.

CommitToGitRequest

Contiene la richiesta di commit.

Nome Tipo Descrizione
comment

string

maxLength: 300

Commento senza chiamante per questo commit. La lunghezza massima è di 300 caratteri. Se non viene fornito alcun commento dal chiamante, usare il commento predefinito del provider Git.

items

ItemIdentifier[]

Elementi specifici da eseguire per il commit. Questo è rilevante solo per la modalità commit selettivo. Si escludono a vicenda con itemsWithFileSelection. Gli elementi possono essere recuperati dall'API Stato Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elementi con selezione per file per la modalità commit FileLevelSelective. Si escludono a vicenda con gli elementi. Ogni voce specifica un elemento e, facoltativamente, un elenco di percorsi di file da eseguire per il commit. Se selectedFiles è null o vuoto per un elemento, viene eseguito il commit di tutti i file per tale elemento.

mode

CommitMode

Modalità per l'operazione di commit.

workspaceHead

string

Hash SHA completo in cui è sincronizzata l'area di lavoro. L'hash può essere recuperato dall'API Stato Git .

ErrorParameter

Parametro strutturato che fornisce un contesto aggiuntivo leggibile dal computer relativo a un errore.

Nome Tipo Descrizione
message

string

Descrizione leggibile del significato del parametro.

name

string

L'identificatore dei parametri.

value

string

Valore del parametro.

ErrorRelatedResource

Oggetto dettagli risorsa correlato all'errore.

Nome Tipo Descrizione
resourceId

string

ID risorsa coinvolto nell'errore.

resourceType

string

Tipo della risorsa coinvolta nell'errore.

ErrorResponse

Risposta di errore.

Nome Tipo Descrizione
errorCode

string

Identificatore specifico che fornisce informazioni su una condizione di errore, consentendo la comunicazione standardizzata tra il servizio e i relativi utenti.

isRetriable

boolean

Se true, la richiesta può essere ritentata. Usare l'intestazione della Retry-After risposta per determinare il ritardo, se disponibile.

message

string

Rappresentazione leggibile dell'errore.

moreDetails

ErrorResponseDetails[]

Elenco di dettagli aggiuntivi sull'errore.

parameters

ErrorParameter[]

Parametri strutturati che forniscono un contesto aggiuntivo leggibile dal computer sull'errore.

relatedResource

ErrorRelatedResource

Dettagli della risorsa correlati all'errore.

requestId

string (uuid)

ID della richiesta associata all'errore.

ErrorResponseDetails

Dettagli della risposta di errore.

Nome Tipo Descrizione
errorCode

string

Identificatore specifico che fornisce informazioni su una condizione di errore, consentendo la comunicazione standardizzata tra il servizio e i relativi utenti.

message

string

Rappresentazione leggibile dell'errore.

parameters

ErrorParameter[]

Parametri strutturati che forniscono un contesto aggiuntivo leggibile dal computer sull'errore.

relatedResource

ErrorRelatedResource

Dettagli della risorsa correlati all'errore.

ItemIdentifier

Contiene l'identificatore dell'elemento. È necessario definire almeno una delle proprietà.

Nome Tipo Descrizione
logicalId

string (uuid)

ID logico dell'elemento. Quando l'ID logico non è disponibile perché l'elemento non è ancora stato aggiunto all'area di lavoro, è possibile usare l'ID oggetto.

objectId

string (uuid)

ID oggetto dell'elemento. Quando l'ID oggetto non è disponibile perché l'elemento è stato eliminato dall'area di lavoro, è possibile usare l'ID logico.

ItemIdentifierWithFileSelection

Contiene l'identificatore dell'elemento con la selezione facoltativa a livello di file per le operazioni di commit.

Nome Tipo Descrizione
logicalId

string (uuid)

ID logico dell'elemento. Quando l'ID logico non è disponibile perché l'elemento non è ancora stato aggiunto all'area di lavoro, è possibile usare l'ID oggetto.

objectId

string (uuid)

ID oggetto dell'elemento. Quando l'ID oggetto non è disponibile perché l'elemento è stato eliminato dall'area di lavoro, è possibile usare l'ID logico.

selectedFiles

string[]

Percorsi di file di cui eseguire il commit, rispetto alla radice dell'elemento. I percorsi usano solo barre, nessuna barra iniziale, percorsi di file completi (nessuna directory o caratteri jolly), nessun segmento vuoto o solo spazi vuoti e i segmenti non possono terminare con uno spazio vuoto o finale. Se null o vuoto, viene eseguito il commit di tutti i file per questo elemento.