Git - Commit To Git

Commits the changes made in the workspace to the connected remote branch.
Diese API unterstützt LRO-.

Um diese API zu verwenden, müssen die Git-Anmeldeinformationen des Aufrufers mithilfe der API "Meine Git-Anmeldeinformationen aktualisieren" konfiguriert werden. Sie können die Api " Meine Git-Anmeldeinformationen abrufen " verwenden, um die Konfiguration der Git-Anmeldeinformationen zu überprüfen.

Sie können festlegen, dass alle Änderungen, bestimmte Elemente oder bestimmte Dateien innerhalb von Elementen mithilfe des FileLevelSelective-Modus commiten. Um den Arbeitsbereich zum ersten Mal zu synchronisieren, verwenden Sie diese API nach den Verbindungs- und Initialisierungs-APIs .

Erlaubnisse

Der Aufrufer muss einen Mitwirkenden oder eine höhere Arbeitsbereichsrolle haben.

Erforderliche delegierte Bereiche

Workspace.GitCommit.All.

Von Microsoft Entra unterstützte Identitäten

Diese API unterstützt die in diesem Abschnitt aufgeführten Microsoft Identitäten.

Identität Unterstützung
Benutzer Ja
Dienstprinzipal und verwaltete Identitäten Wird nur unterstützt, wenn alle Elemente , die am Dienstprinzipal des Vorgangs beteiligt sind, unterstützt werden

Schnittstelle

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
workspaceId
path True

string (uuid)

Die Arbeitsbereichs-ID.

Anforderungstext

Name Erforderlich Typ Beschreibung
mode True

CommitMode

Der Modus für den Commit-Vorgang.

comment

string

maxLength: 300

Anruferfreier Kommentar für diesen Commit. Die maximale Länge beträgt 300 Zeichen. Wenn vom Aufrufer kein Kommentar bereitgestellt wird, verwenden Sie den standardmäßigen Git-Anbieterkommentar.

items

ItemIdentifier[]

Bestimmte Elemente, die commit ausgeführt werden sollen. Dies ist nur für den selektiven Commit-Modus relevant. Sich gegenseitig ausschließend mit itemsWithFileSelection. Die Elemente können aus der Git-Status-API abgerufen werden.

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elemente mit Dateiauswahl für den FileLevelSelective-Commitmodus. Sich gegenseitig ausschließend mit Elementen. Jeder Eintrag gibt ein Element und optional eine Liste der Zu übernehmenden Dateipfade an. Wenn selectedFiles null oder leer für ein Element ist, werden alle Dateien für dieses Element zugesichert.

workspaceHead

string

Vollständiger SHA-Hash, mit dem der Arbeitsbereich synchronisiert wird. Der Hash kann aus der Git-Status-API abgerufen werden.

Antworten

Name Typ Beschreibung
200 OK

Die Anforderung wurde erfolgreich abgeschlossen.

202 Accepted

Anforderung angenommen, commit auf Git in Bearbeitung.

Header

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

ErrorResponse

Der Dienstratengrenzwert wurde überschritten. Der Server gibt einen Retry-After Header zurück, der in Sekunden angibt, wie lange der Client warten muss, bevor zusätzliche Anforderungen gesendet werden.

Header

Retry-After: integer

Other Status Codes

ErrorResponse

Häufige Fehlercodes:

  • WorkspaceNotConnectedToGit – Arbeitsbereich ist nicht mit Git verbunden.

  • WorkspaceHasNoCapacityAssigned – Keine Kapazität für den Arbeitsbereich.

  • WorkspaceHeadMismatch – Head in der Anforderung stimmt nicht mit dem Kopf im System überein.

  • WorkspacePreviousOperationInProgress – Vorheriger Vorgang wird noch ausgeführt.

  • InsufficientPrivileges – Der Aufrufer verfügt nicht über ausreichende Arbeitsbereichsberechtigungen.

  • PrincipalTypeNotSupported – Der Identitätstyp des Anrufers wird nicht unterstützt.

Beispiele

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

Commit all to Git example

Beispielanforderung

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

Beispiel für eine Antwort

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

Beispielanforderung

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

Beispiel für eine Antwort

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

Beispielanforderung

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

Beispiel für eine Antwort

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

Definitionen

Name Beschreibung
CommitMode

Modi für den Commit-Vorgang. Zusätzliche Modi können im Laufe der Zeit hinzugefügt werden.

CommitToGitRequest

Enthält die Commit-Anforderung.

ErrorParameter

Ein strukturierter Parameter, der zusätzlichen computerlesbaren Kontext zu einem Fehler bereitstellt.

ErrorRelatedResource

Das Fehlerbezogene Ressourcendetails-Objekt.

ErrorResponse

Die Fehlerantwort.

ErrorResponseDetails

Die Fehlerantwortdetails.

ItemIdentifier

Enthält den Elementbezeichner. Mindestens eine der Eigenschaften muss definiert werden.

ItemIdentifierWithFileSelection

Enthält den Elementbezeichner mit optionaler Auswahl auf Dateiebene für Commit-Vorgänge.

CommitMode

Modi für den Commit-Vorgang. Zusätzliche Modi können im Laufe der Zeit hinzugefügt werden.

Wert Beschreibung
All

Commit aller nicht abgeschlossenen Änderungen. Der Aufrufer ist nicht erforderlich, um die Liste der zu übernehmenden Elemente bereitzustellen.

Selective

Führen Sie einen Commit für eine angegebene Liste von Elementen durch, die nicht ausgelassene Änderungen aufweisen. Verwenden Sie die items Eigenschaft, um Elemente anzugeben.

FileLevelSelective

Commit für angegebene Dateien innerhalb der angegebenen Elemente. Verwenden Sie die itemsWithFileSelection Eigenschaft, um Elemente und Dateien anzugeben.

CommitToGitRequest

Enthält die Commit-Anforderung.

Name Typ Beschreibung
comment

string

maxLength: 300

Anruferfreier Kommentar für diesen Commit. Die maximale Länge beträgt 300 Zeichen. Wenn vom Aufrufer kein Kommentar bereitgestellt wird, verwenden Sie den standardmäßigen Git-Anbieterkommentar.

items

ItemIdentifier[]

Bestimmte Elemente, die commit ausgeführt werden sollen. Dies ist nur für den selektiven Commit-Modus relevant. Sich gegenseitig ausschließend mit itemsWithFileSelection. Die Elemente können aus der Git-Status-API abgerufen werden.

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elemente mit Dateiauswahl für den FileLevelSelective-Commitmodus. Sich gegenseitig ausschließend mit Elementen. Jeder Eintrag gibt ein Element und optional eine Liste der Zu übernehmenden Dateipfade an. Wenn selectedFiles null oder leer für ein Element ist, werden alle Dateien für dieses Element zugesichert.

mode

CommitMode

Der Modus für den Commit-Vorgang.

workspaceHead

string

Vollständiger SHA-Hash, mit dem der Arbeitsbereich synchronisiert wird. Der Hash kann aus der Git-Status-API abgerufen werden.

ErrorParameter

Ein strukturierter Parameter, der zusätzlichen computerlesbaren Kontext zu einem Fehler bereitstellt.

Name Typ Beschreibung
message

string

Eine lesbare Beschreibung der Bedeutung des Parameters.

name

string

Die Parameterkennung.

value

string

Der übergebene Wert

ErrorRelatedResource

Das Fehlerbezogene Ressourcendetails-Objekt.

Name Typ Beschreibung
resourceId

string

Die Ressourcen-ID, die an dem Fehler beteiligt ist.

resourceType

string

Der Typ der Ressource, die an dem Fehler beteiligt ist.

ErrorResponse

Die Fehlerantwort.

Name Typ Beschreibung
errorCode

string

Ein bestimmter Bezeichner, der Informationen über eine Fehlerbedingung bereitstellt und eine standardisierte Kommunikation zwischen unserem Dienst und seinen Benutzern ermöglicht.

isRetriable

boolean

Wenn true, kann die Anforderung wiederholt werden. Verwenden Sie den Retry-After Antwortheader, um die Verzögerung zu ermitteln, falls verfügbar.

message

string

Eine lesbare Darstellung des Fehlers.

moreDetails

ErrorResponseDetails[]

Liste der zusätzlichen Fehlerdetails.

parameters

ErrorParameter[]

Strukturierte Parameter, die zusätzlichen maschinenlesbaren Kontext zu dem Fehler bereitstellen.

relatedResource

ErrorRelatedResource

Die fehlerbezogenen Ressourcendetails.

requestId

string (uuid)

ID der Anforderung, die dem Fehler zugeordnet ist.

ErrorResponseDetails

Die Fehlerantwortdetails.

Name Typ Beschreibung
errorCode

string

Ein bestimmter Bezeichner, der Informationen über eine Fehlerbedingung bereitstellt und eine standardisierte Kommunikation zwischen unserem Dienst und seinen Benutzern ermöglicht.

message

string

Eine lesbare Darstellung des Fehlers.

parameters

ErrorParameter[]

Strukturierte Parameter, die zusätzlichen maschinenlesbaren Kontext zu dem Fehler bereitstellen.

relatedResource

ErrorRelatedResource

Die fehlerbezogenen Ressourcendetails.

ItemIdentifier

Enthält den Elementbezeichner. Mindestens eine der Eigenschaften muss definiert werden.

Name Typ Beschreibung
logicalId

string (uuid)

Die logische ID des Elements. Wenn die logische ID nicht verfügbar ist, da das Element noch nicht zum Arbeitsbereich hinzugefügt wurde, können Sie die Objekt-ID verwenden.

objectId

string (uuid)

Die Objekt-ID des Elements. Wenn die Objekt-ID nicht verfügbar ist, weil das Element aus dem Arbeitsbereich gelöscht wurde, können Sie die logische ID verwenden.

ItemIdentifierWithFileSelection

Enthält den Elementbezeichner mit optionaler Auswahl auf Dateiebene für Commit-Vorgänge.

Name Typ Beschreibung
logicalId

string (uuid)

Die logische ID des Elements. Wenn die logische ID nicht verfügbar ist, da das Element noch nicht zum Arbeitsbereich hinzugefügt wurde, können Sie die Objekt-ID verwenden.

objectId

string (uuid)

Die Objekt-ID des Elements. Wenn die Objekt-ID nicht verfügbar ist, weil das Element aus dem Arbeitsbereich gelöscht wurde, können Sie die logische ID verwenden.

selectedFiles

string[]

Dateipfade, die commit ausgeführt werden sollen, relativ zum Elementstamm. Pfade verwenden nur Schrägstriche, keine führenden Schrägstriche, vollständige Dateipfade (keine Verzeichnisse oder Platzhalter), keine leeren oder nur Leerzeichensegmente, und Segmente können nicht mit einem Punkt oder nachfolgendem Leerzeichen enden. Wenn null oder leer, werden alle Dateien für dieses Element zugesichert.