Git - Update From Git

Aggiorna l'area di lavoro con commit di cui è stato eseguito il push nel ramo connesso.

Note

Il supporto del piano di distribuzione in questa API fa parte di una versione beta e viene fornito solo a scopo di valutazione e sviluppo. Può cambiare in base al feedback e non è consigliato per l'uso in produzione. Tutte le altre funzionalità di questa API sono disponibili a livello generale. Per usare il supporto del piano di distribuzione, i chiamanti devono specificare true come valore per il parametro betadi query .

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.

L'aggiornamento influisce solo sugli elementi nell'area di lavoro modificati in tali commit. Se viene chiamato dopo le API Connect e Initialize Connection , verrà eseguito un aggiornamento completo dell'intera area di lavoro.

Autorizzazioni

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

Ambiti delegati obbligatori

Workspace.GitUpdate.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/updateFromGit
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/updateFromGit?beta={beta}

Parametri dell'URI

Nome In Necessario Tipo Descrizione
workspaceId
path True

string (uuid)

ID dell'area di lavoro.

beta
query

boolean

Impostare su per true abilitare la funzionalità Beta, incluso il supporto del piano di distribuzione. Se omesso o impostato su false, solo le funzionalità disponibili a livello generale sono accessibili e l'input del piano di distribuzione non viene accettato.

Corpo della richiesta

Nome Necessario Tipo Descrizione
remoteCommitHash True

string

Hash di commit SHA completo remoto.

conflictResolution

WorkspaceConflictResolution

Risoluzione dei conflitti da usare nell'aggiornamento dall'operazione Git. Se gli elementi sono in conflitto e non viene specificata una risoluzione dei conflitti, l'operazione di aggiornamento non verrà avviata.

options

UpdateOptions

Opzioni da usare nell'aggiornamento dall'operazione Git

workspaceHead

string

Hash SHA completo in cui è sincronizzata l'area di lavoro. Questo valore può essere Null solo dopo l'inizializzazione della connessione. In altri casi, il sistema convaliderà che il valore specificato sia allineato alla testa nota al sistema.

Risposte

Nome Tipo Descrizione
200 OK

Richiesta completata correttamente.

202 Accepted

Richiesta accettata, aggiornamento da 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à assegnata all'area di lavoro.

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

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

  • MissingDependency: manca una dipendenza nell'operazione di aggiornamento.

  • PotentialDuplicateDisplayNameAndType: l'operazione di aggiornamento creerà un nome visualizzato duplicato e un tipo.

  • DependencyDeletionFailed: l'operazione di aggiornamento eliminerà la dipendenza rigida.

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

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

Esempio

Update a workspace from Git with options example
Update a workspace using data from a Git example
Update a workspace using data from a Git with a deployment plan example

Update a workspace from Git with options example

Esempio di richiesta

POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit

{
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
  "conflictResolution": {
    "conflictResolutionType": "Workspace",
    "conflictResolutionPolicy": "PreferWorkspace"
  },
  "options": {
    "allowOverrideItems": true,
    "itemOptionsByLogicalId": [
      {
        "logicalId": "88436e65-6ed1-8185-49ff-f61077fc73d4",
        "options": {
          "validateOnly": true
        }
      }
    ]
  }
}

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

Update a workspace using data from a Git example

Esempio di richiesta

POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit

{
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
  "conflictResolution": {
    "conflictResolutionType": "Workspace",
    "conflictResolutionPolicy": "PreferWorkspace"
  },
  "options": {
    "allowOverrideItems": true
  }
}

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

Update a workspace using data from a Git with a deployment plan example

Esempio di richiesta

POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/updateFromGit

{
  "workspaceHead": "eaa737b48cda41b37ffefac772ea48f6fed3eac4",
  "remoteCommitHash": "7d03b2918bf6aa62f96d0a4307293f3853201705",
  "conflictResolution": {
    "conflictResolutionType": "Workspace",
    "conflictResolutionPolicy": "PreferWorkspace"
  },
  "options": {
    "allowOverrideItems": true,
    "deploymentPlan": {
      "referenceType": "ByLogicalId",
      "logicalId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  }
}

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
ConflictResolutionPolicy

Criteri di risoluzione dei conflitti. È possibile aggiungere altri criteri di risoluzione dei conflitti nel tempo.

ConflictResolutionType

Tipo di risoluzione dei conflitti. È possibile aggiungere altri tipi di risoluzione dei conflitti nel corso del tempo.

DeploymentPlanReferenceByItemId

Riferimento di un piano di distribuzione in base all'ID elemento.

DeploymentPlanReferenceByLogicalId

Riferimento di un piano di distribuzione in base all'ID logico.

DeploymentPlanReferenceType

Tipo di riferimento del piano di distribuzione. È possibile aggiungere altri tipi di DeploymentPlanReferenceType nel tempo.

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.

ItemOptionsByLogicalIdEntry

Voce di opzioni per elemento destinata all'elemento in base all'ID logico. Ogni elemento di destinazione può essere visualizzato al massimo una volta.

UpdateFromGitRequest

Contiene l'aggiornamento dai dati delle richieste Git.

UpdateOptions

Contiene le opzioni abilitate per l'aggiornamento da Git.

WorkspaceConflictResolution

Dati di base per la risoluzione dei conflitti.

ConflictResolutionPolicy

Criteri di risoluzione dei conflitti. È possibile aggiungere altri criteri di risoluzione dei conflitti nel tempo.

Valore Descrizione
PreferRemote

Preferisce il contenuto lato Git remoto.

PreferWorkspace

Preferisce il contenuto sul lato area di lavoro.

ConflictResolutionType

Tipo di risoluzione dei conflitti. È possibile aggiungere altri tipi di risoluzione dei conflitti nel corso del tempo.

Valore Descrizione
Workspace

Risoluzione dei conflitti che rappresenta il livello dell'area di lavoro.

DeploymentPlanReferenceByItemId

Riferimento di un piano di distribuzione in base all'ID elemento.

Nome Tipo Descrizione
itemId

string (uuid)

ID elemento dell'elemento del piano di distribuzione.

referenceType string:

ByItemId

Tipo di riferimento del piano di distribuzione.

DeploymentPlanReferenceByLogicalId

Riferimento di un piano di distribuzione in base all'ID logico.

Nome Tipo Descrizione
logicalId

string (uuid)

ID logico dell'elemento del piano di distribuzione.

referenceType string:

ByLogicalId

Tipo di riferimento del piano di distribuzione.

DeploymentPlanReferenceType

Tipo di riferimento del piano di distribuzione. È possibile aggiungere altri tipi di DeploymentPlanReferenceType nel tempo.

Valore Descrizione
ByItemId

Il piano di distribuzione fa riferimento al relativo ID elemento.

ByLogicalId

Il piano di distribuzione fa riferimento all'ID logico.

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.

ItemOptionsByLogicalIdEntry

Voce di opzioni per elemento destinata all'elemento in base all'ID logico. Ogni elemento di destinazione può essere visualizzato al massimo una volta.

Nome Tipo Descrizione
logicalId

string (uuid)

ID logico dell'elemento di destinazione.

options

object

Opzioni per l'elemento di destinazione. I nomi delle proprietà sono nomi di opzione validi per il tipo di elemento; i valori sono i valori di opzione. Per le opzioni supportate da un tipo di elemento specifico, vedere la documentazione dell'API del tipo di Update-Definition elemento.

UpdateFromGitRequest

Contiene l'aggiornamento dai dati delle richieste Git.

Nome Tipo Descrizione
conflictResolution

WorkspaceConflictResolution

Risoluzione dei conflitti da usare nell'aggiornamento dall'operazione Git. Se gli elementi sono in conflitto e non viene specificata una risoluzione dei conflitti, l'operazione di aggiornamento non verrà avviata.

options

UpdateOptions

Opzioni da usare nell'aggiornamento dall'operazione Git

remoteCommitHash

string

Hash di commit SHA completo remoto.

workspaceHead

string

Hash SHA completo in cui è sincronizzata l'area di lavoro. Questo valore può essere Null solo dopo l'inizializzazione della connessione. In altri casi, il sistema convaliderà che il valore specificato sia allineato alla testa nota al sistema.

UpdateOptions

Contiene le opzioni abilitate per l'aggiornamento da Git.

Nome Tipo Descrizione
allowOverrideItems

boolean

Consenso dell'utente per eseguire l'override degli elementi in ingresso durante l'aggiornamento dal processo Git. Quando sono presenti elementi in ingresso e gli elementi di override consentiti non vengono specificati o vengono forniti come false, l'operazione di aggiornamento non verrà avviata. Il valore predefinito è false.

deploymentPlan DeploymentPlanReference:

Riferimento a un elemento del piano di distribuzione per orchestrare la distribuzione. Se specificato, il piano controlla l'ordinamento della distribuzione degli elementi ed esegue azioni di pre/post-distribuzione. Se assente o null, l'operazione si comporta come oggi. Attualmente è supportato solo il ByLogicalId tipo di riferimento. Il supporto del piano di distribuzione è attualmente in versione beta. Questa proprietà può essere usata solo quando il parametro beta di query è impostato su true e può cambiare in base al feedback.

itemOptionsByLogicalId

ItemOptionsByLogicalIdEntry[]

Opzioni di aggiornamento per elemento. Ogni voce è destinata all'elemento in base all'ID logico e applica le relative opzioni a tale elemento.

WorkspaceConflictResolution

Dati di base per la risoluzione dei conflitti.

Nome Tipo Descrizione
conflictResolutionPolicy

ConflictResolutionPolicy

Criteri di risoluzione dei conflitti. È possibile aggiungere altri criteri di risoluzione dei conflitti nel tempo.

conflictResolutionType

ConflictResolutionType

Tipo di risoluzione dei conflitti. È possibile aggiungere altri tipi di risoluzione dei conflitti nel corso del tempo.