Git - Commit To Git

Valide les modifications apportées dans l’espace de travail à la branche distante connectée.
Cette API prend en charge opérations longues (LRO).

Pour utiliser cette API, les informations d’identification Git de l’appelant doivent être configurées à l’aide de l’API Mettre à jour mes informations d’identification Git . Vous pouvez utiliser l’API Obtenir mes informations d’identification Git pour vérifier la configuration des informations d’identification Git.

Vous pouvez choisir de valider toutes les modifications, éléments spécifiques ou fichiers spécifiques au sein d’éléments à l’aide du mode FileLevelSelective. Pour synchroniser l’espace de travail pour la première fois, utilisez cette API après les API Se connecter et initialiser la connexion .

Autorisations

L’appelant doit avoir un contributeur ou un rôle d’espace de travail supérieur.

Étendues déléguées requises

Workspace.GitCommit.All.

Identités prises en charge par Microsoft Entra

Cette API prend en charge les identités Microsoft répertoriées dans cette section.

Identité Soutien
Utilisateur Oui
principal de service et identités managées Uniquement pris en charge lorsque tous les éléments impliqués dans l’opération prennent en charge les principaux de service

Interface

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

Paramètres URI

Nom Dans Obligatoire Type Description
workspaceId
path True

string (uuid)

Identifiant de l’espace de travail.

Corps de la demande

Nom Obligatoire Type Description
mode True

CommitMode

Mode de l’opération de validation.

comment

string

maxLength: 300

Commentaire gratuit de l’appelant pour cette validation. La longueur maximale est de 300 caractères. Si aucun commentaire n’est fourni par l’appelant, utilisez le commentaire du fournisseur Git par défaut.

items

ItemIdentifier[]

Éléments spécifiques à valider. Cela s’applique uniquement au mode de validation sélectif. Mutuellement exclusif avec itemsWithFileSelection. Les éléments peuvent être récupérés à partir de l’API d’état Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Éléments avec sélection par fichier pour le mode de validation FileLevelSelective. Mutuellement exclusif avec les éléments. Chaque entrée spécifie un élément et éventuellement une liste de chemins d’accès aux fichiers à valider. Si selectedFiles est null ou vide pour un élément, tous les fichiers de cet élément sont validés.

workspaceHead

string

Hachage SHA complet auquel l’espace de travail est synchronisé. Le hachage peut être récupéré à partir de l’API d’état Git .

Réponses

Nom Type Description
200 OK

La demande s’est terminée avec succès.

202 Accepted

Demande acceptée, validée sur Git en cours.

En-têtes

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

ErrorResponse

La limite de débit de service a été dépassée. Le serveur retourne un Retry-After en-tête indiquant, en secondes, combien de temps le client doit attendre avant d’envoyer des demandes supplémentaires.

En-têtes

Retry-After: integer

Other Status Codes

ErrorResponse

Codes d’erreur courants :

  • WorkspaceNotConnectedToGit : l’espace de travail n’est pas connecté à Git.

  • WorkspaceHasNoCapacityAssigned : aucune capacité n’est assingée à l’espace de travail.

  • WorkspaceHeadMismatch : la tête dans la requête ne correspond pas à la tête du système.

  • WorkspacePreviousOperationInProgress : l’opération précédente est toujours en cours.

  • InsufficientPrivileges : l’appelant ne dispose pas des autorisations d’espace de travail suffisantes.

  • PrincipalTypeNotSupported : le type d’identité de l’appelant n’est pas pris en charge.

Exemples

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

Commit all to Git example

Exemple de requête

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

Exemple de réponse

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

Exemple de requête

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

Exemple de réponse

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

Exemple de requête

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

Exemple de réponse

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

Définitions

Nom Description
CommitMode

Modes de l’opération de validation. Des modes supplémentaires peuvent être ajoutés au fil du temps.

CommitToGitRequest

Contient la demande de validation.

ErrorParameter

Paramètre structuré fournissant un contexte lisible par l’ordinateur supplémentaire à propos d’une erreur.

ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

ErrorResponse

Réponse d’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

ItemIdentifier

Contient l’identificateur d’élément. Au moins une des propriétés doit être définie.

ItemIdentifierWithFileSelection

Contient l’identificateur d’élément avec une sélection facultative au niveau du fichier pour les opérations de validation.

CommitMode

Modes de l’opération de validation. Des modes supplémentaires peuvent être ajoutés au fil du temps.

Valeur Description
All

Validez toutes les modifications non validées. L’appelant n’est pas tenu de fournir la liste des éléments à valider.

Selective

Validez une liste spécifiée d’éléments qui ont des modifications non validées. Utilisez la items propriété pour spécifier des éléments.

FileLevelSelective

Validez les fichiers spécifiés dans les éléments spécifiés. Utilisez la itemsWithFileSelection propriété pour spécifier des éléments et des fichiers.

CommitToGitRequest

Contient la demande de validation.

Nom Type Description
comment

string

maxLength: 300

Commentaire gratuit de l’appelant pour cette validation. La longueur maximale est de 300 caractères. Si aucun commentaire n’est fourni par l’appelant, utilisez le commentaire du fournisseur Git par défaut.

items

ItemIdentifier[]

Éléments spécifiques à valider. Cela s’applique uniquement au mode de validation sélectif. Mutuellement exclusif avec itemsWithFileSelection. Les éléments peuvent être récupérés à partir de l’API d’état Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Éléments avec sélection par fichier pour le mode de validation FileLevelSelective. Mutuellement exclusif avec les éléments. Chaque entrée spécifie un élément et éventuellement une liste de chemins d’accès aux fichiers à valider. Si selectedFiles est null ou vide pour un élément, tous les fichiers de cet élément sont validés.

mode

CommitMode

Mode de l’opération de validation.

workspaceHead

string

Hachage SHA complet auquel l’espace de travail est synchronisé. Le hachage peut être récupéré à partir de l’API d’état Git .

ErrorParameter

Paramètre structuré fournissant un contexte lisible par l’ordinateur supplémentaire à propos d’une erreur.

Nom Type Description
message

string

Description lisible par l’homme de la signification du paramètre.

name

string

L’identifiant de paramètre.

value

string

Représente la valeur du paramètre.

ErrorRelatedResource

Objet de détails de ressource associé à l’erreur.

Nom Type Description
resourceId

string

ID de ressource impliqué dans l’erreur.

resourceType

string

Type de la ressource impliquée dans l’erreur.

ErrorResponse

Réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

isRetriable

boolean

Lorsque la valeur est true, la requête peut être retentée. Utilisez l’en-tête Retry-After de réponse pour déterminer le délai, le cas échéant.

message

string

Représentation lisible humaine de l’erreur.

moreDetails

ErrorResponseDetails[]

Liste des détails d’erreur supplémentaires.

parameters

ErrorParameter[]

Paramètres structurés fournissant un contexte lisible par l’ordinateur supplémentaire sur l’erreur.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

requestId

string (uuid)

ID de la demande associée à l’erreur.

ErrorResponseDetails

Détails de la réponse d’erreur.

Nom Type Description
errorCode

string

Identificateur spécifique qui fournit des informations sur une condition d’erreur, ce qui permet une communication standardisée entre notre service et ses utilisateurs.

message

string

Représentation lisible humaine de l’erreur.

parameters

ErrorParameter[]

Paramètres structurés fournissant un contexte lisible par l’ordinateur supplémentaire sur l’erreur.

relatedResource

ErrorRelatedResource

Détails de la ressource associée à l’erreur.

ItemIdentifier

Contient l’identificateur d’élément. Au moins une des propriétés doit être définie.

Nom Type Description
logicalId

string (uuid)

ID logique de l’élément. Lorsque l’ID logique n’est pas disponible, car l’élément n’est pas encore ajouté à l’espace de travail, vous pouvez utiliser l’ID d’objet.

objectId

string (uuid)

ID d’objet de l’élément. Lorsque l’ID d’objet n’est pas disponible, car l’élément a été supprimé de l’espace de travail, vous pouvez utiliser l’ID logique.

ItemIdentifierWithFileSelection

Contient l’identificateur d’élément avec une sélection facultative au niveau du fichier pour les opérations de validation.

Nom Type Description
logicalId

string (uuid)

ID logique de l’élément. Lorsque l’ID logique n’est pas disponible, car l’élément n’est pas encore ajouté à l’espace de travail, vous pouvez utiliser l’ID d’objet.

objectId

string (uuid)

ID d’objet de l’élément. Lorsque l’ID d’objet n’est pas disponible, car l’élément a été supprimé de l’espace de travail, vous pouvez utiliser l’ID logique.

selectedFiles

string[]

Chemins d’accès aux fichiers à valider, par rapport à la racine de l’élément. Les chemins d’accès utilisent uniquement des barres obliques, aucune barre oblique, aucun chemin de fichier complet uniquement (aucun répertoire ou caractère générique), aucun segment vide ou blanc uniquement, et les segments ne peuvent pas se terminer par un point ou un espace blanc de fin. Si la valeur est null ou vide, tous les fichiers de cet élément sont validés.