Git - Commit To Git

Confirma los cambios realizados en el área de trabajo en la rama remota conectada.
Esta API admite operaciones de larga duración (LRO).

Para usar esta API, las credenciales de Git del autor de la llamada deben configurarse mediante Update My Git Credentials API (Actualizar mis credenciales de Git ). Puede usar la API Obtener mis credenciales de Git para comprobar la configuración de credenciales de Git.

Puede optar por confirmar todos los cambios, elementos específicos o archivos específicos dentro de los elementos mediante el modo FileLevelSelective. Para sincronizar el área de trabajo por primera vez, use esta API después de conectar e inicializar las API de conexión .

Permisos

El autor de la llamada debe tener un rol de colaborador o superior.

Ámbitos delegados necesarios

Workspace.GitCommit.All.

Identidades admitidas de Microsoft Entra

Esta API admite las identidades de Microsoft enumeradas en esta sección.

identidad Apoyo
Usuario
de entidad de servicio y identidades administradas Solo se admite cuando todos los elementos implicados en la operación admiten entidades de servicio.

Interfaz

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
workspaceId
path True

string (uuid)

Identificador del área de trabajo.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
mode True

CommitMode

Modo para la operación de confirmación.

comment

string

maxLength: 300

Comentario gratuito del autor de la llamada para esta confirmación. La longitud máxima es de 300 caracteres. Si el autor de la llamada no proporciona ningún comentario, use el comentario del proveedor de Git predeterminado.

items

ItemIdentifier[]

Elementos específicos que se van a confirmar. Esto solo es relevante para el modo de confirmación selectiva. Mutuamente excluyente con itemsWithFileSelection. Los elementos se pueden recuperar de la API de estado de Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elementos con selección por archivo para el modo de confirmación FileLevelSelective. Mutuamente excluyente con elementos. Cada entrada especifica un elemento y, opcionalmente, una lista de rutas de acceso de archivo que se van a confirmar. Si selectedFiles es null o está vacío para un elemento, se confirman todos los archivos de ese elemento.

workspaceHead

string

Hash sha completo al que se sincroniza el área de trabajo. El hash se puede recuperar de la API de estado de Git .

Respuestas

Nombre Tipo Description
200 OK

Solicitud completada correctamente.

202 Accepted

Solicitud aceptada, confirmación en Git en curso.

Encabezados

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

ErrorResponse

Se superó el límite de frecuencia de servicio. El servidor devuelve un Retry-After encabezado que indica, en segundos, cuánto tiempo debe esperar el cliente antes de enviar solicitudes adicionales.

Encabezados

Retry-After: integer

Other Status Codes

ErrorResponse

Códigos de error comunes:

  • WorkspaceNotConnectedToGit: el área de trabajo no está conectada a Git.

  • WorkspaceHasNoCapacityAssigned: no hay capacidad asignada al área de trabajo.

  • WorkspaceHeadMismatch: el encabezado de la solicitud no coincide con el encabezado del sistema.

  • WorkspacePreviousOperationInProgress: la operación anterior todavía está en curso.

  • InsufficientPrivileges: el autor de la llamada no tiene suficientes permisos de área de trabajo.

  • PrincipalTypeNotSupported: no se admite el tipo de identidad llamador.

Ejemplos

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

Commit all to Git example

Solicitud de ejemplo

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

Respuesta de muestra

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

Solicitud de ejemplo

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

Respuesta de muestra

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

Solicitud de ejemplo

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

Respuesta de muestra

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

Definiciones

Nombre Description
CommitMode

Modos para la operación de confirmación. Se pueden agregar modos adicionales a lo largo del tiempo.

CommitToGitRequest

Contiene la solicitud de confirmación.

ErrorParameter

Parámetro estructurado que proporciona contexto legible por máquina adicional sobre un error.

ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

ErrorResponse

Respuesta de error.

ErrorResponseDetails

Detalles de la respuesta de error.

ItemIdentifier

Contiene el identificador de elemento. Se debe definir al menos una de las propiedades.

ItemIdentifierWithFileSelection

Contiene el identificador de elemento con selección de nivel de archivo opcional para las operaciones de confirmación.

CommitMode

Modos para la operación de confirmación. Se pueden agregar modos adicionales a lo largo del tiempo.

Valor Description
All

Confirme todos los cambios no confirmados. No es necesario que el autor de la llamada proporcione la lista de elementos que se van a confirmar.

Selective

Confirme una lista especificada de elementos que tienen cambios no confirmados. Use la items propiedad para especificar elementos.

FileLevelSelective

Confirme los archivos especificados dentro de los elementos especificados. Use la itemsWithFileSelection propiedad para especificar elementos y archivos.

CommitToGitRequest

Contiene la solicitud de confirmación.

Nombre Tipo Description
comment

string

maxLength: 300

Comentario gratuito del autor de la llamada para esta confirmación. La longitud máxima es de 300 caracteres. Si el autor de la llamada no proporciona ningún comentario, use el comentario del proveedor de Git predeterminado.

items

ItemIdentifier[]

Elementos específicos que se van a confirmar. Esto solo es relevante para el modo de confirmación selectiva. Mutuamente excluyente con itemsWithFileSelection. Los elementos se pueden recuperar de la API de estado de Git .

itemsWithFileSelection

ItemIdentifierWithFileSelection[]

Elementos con selección por archivo para el modo de confirmación FileLevelSelective. Mutuamente excluyente con elementos. Cada entrada especifica un elemento y, opcionalmente, una lista de rutas de acceso de archivo que se van a confirmar. Si selectedFiles es null o está vacío para un elemento, se confirman todos los archivos de ese elemento.

mode

CommitMode

Modo para la operación de confirmación.

workspaceHead

string

Hash sha completo al que se sincroniza el área de trabajo. El hash se puede recuperar de la API de estado de Git .

ErrorParameter

Parámetro estructurado que proporciona contexto legible por máquina adicional sobre un error.

Nombre Tipo Description
message

string

Descripción legible del significado del parámetro.

name

string

El identificador de parámetros.

value

string

Es el valor del parámetro.

ErrorRelatedResource

Objeto de detalles del recurso relacionado con el error.

Nombre Tipo Description
resourceId

string

Identificador de recurso implicado en el error.

resourceType

string

Tipo del recurso implicado en el error.

ErrorResponse

Respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

isRetriable

boolean

Cuando es true, se puede reintentar la solicitud. Use el Retry-After encabezado de respuesta para determinar el retraso, si está disponible.

message

string

Representación legible del error.

moreDetails

ErrorResponseDetails[]

Lista de detalles de error adicionales.

parameters

ErrorParameter[]

Parámetros estructurados que proporcionan contexto legible por máquina adicional sobre el error.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

requestId

string (uuid)

Identificador de la solicitud asociada al error.

ErrorResponseDetails

Detalles de la respuesta de error.

Nombre Tipo Description
errorCode

string

Identificador específico que proporciona información sobre una condición de error, lo que permite una comunicación estandarizada entre nuestro servicio y sus usuarios.

message

string

Representación legible del error.

parameters

ErrorParameter[]

Parámetros estructurados que proporcionan contexto legible por máquina adicional sobre el error.

relatedResource

ErrorRelatedResource

Detalles del recurso relacionado con el error.

ItemIdentifier

Contiene el identificador de elemento. Se debe definir al menos una de las propiedades.

Nombre Tipo Description
logicalId

string (uuid)

Identificador lógico del elemento. Cuando el identificador lógico no está disponible porque el elemento aún no se ha agregado al área de trabajo, puede usar el identificador de objeto.

objectId

string (uuid)

Identificador de objeto del elemento. Cuando el identificador de objeto no está disponible porque el elemento se eliminó del área de trabajo, puede usar el identificador lógico.

ItemIdentifierWithFileSelection

Contiene el identificador de elemento con selección de nivel de archivo opcional para las operaciones de confirmación.

Nombre Tipo Description
logicalId

string (uuid)

Identificador lógico del elemento. Cuando el identificador lógico no está disponible porque el elemento aún no se ha agregado al área de trabajo, puede usar el identificador de objeto.

objectId

string (uuid)

Identificador de objeto del elemento. Cuando el identificador de objeto no está disponible porque el elemento se eliminó del área de trabajo, puede usar el identificador lógico.

selectedFiles

string[]

Rutas de acceso de archivo para confirmar, en relación con la raíz del elemento. Las rutas de acceso solo usan barras diagonales, sin barras diagonales iniciales, rutas de acceso de archivo completas (sin directorios ni caracteres comodín), sin segmentos vacíos o solo espacios en blanco, y los segmentos no pueden terminar con un punto o un espacio en blanco final. Si es null o está vacío, se confirman todos los archivos de este elemento.