Refs - Update Refs
Creazione, aggiornamento o eliminazione di refs(rami).
L'aggiornamento di un riferimento indica che punta a un commit diverso rispetto a quello usato. È necessario specificare sia il commit precedente che quello nuovo per evitare le race condition.
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=7.1
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?projectId={projectId}&api-version=7.1
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
organization
|
path | True |
string |
Nome dell'organizzazione di Azure DevOps. |
repository
|
path | True |
string |
Nome o ID del repository. |
project
|
path |
string |
ID progetto o nome progetto |
|
api-version
|
query | True |
string |
Versione dell'API da usare. Deve essere impostato su '7.1' per usare questa versione dell'API. |
project
|
query |
string |
ID o nome del progetto team. Facoltativo se si specifica un ID per il repository. |
Corpo della richiesta
Nome | Tipo | Descrizione |
---|---|---|
body |
Elenco di aggiornamenti di riferimento per tentare di eseguire |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
operazione riuscita |
Sicurezza
oauth2
Tipo:
oauth2
Flow:
accessCode
URL di autorizzazione:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL token:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Ambiti
Nome | Descrizione |
---|---|
vso.code_write | Concede la possibilità di leggere, aggiornare ed eliminare il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire richieste pull e revisioni del codice e di ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio. |
Esempio
Create/Update/Delete a ref by repositoryId
Esempio di richiesta
POST https://dev.azure.com/fabrikam/_apis/git/repositories/{repositoryId}/refs?api-version=7.1
[
{
"name": "refs/heads/vsts-api-sample/answer-woman-flame",
"oldObjectId": "0000000000000000000000000000000000000000",
"newObjectId": "ffe9cba521f00d7f60e322845072238635edb451"
}
]
Risposta di esempio
transfer-Encoding: chunked
{
"value": [
{
"repositoryId": "d3d1760b-311c-4175-a726-20dfc6a7f885",
"name": "refs/heads/vsts-api-sample/answer-woman-flame",
"oldObjectId": "0000000000000000000000000000000000000000",
"newObjectId": "ffe9cba521f00d7f60e322845072238635edb451",
"isLocked": false,
"updateStatus": "succeeded",
"success": true
}
],
"count": 1
}
Definizioni
Nome | Descrizione |
---|---|
Git |
|
Git |
|
Git |
Stato dell'aggiornamento dal server TFS. |
GitRefUpdate
Nome | Tipo | Descrizione |
---|---|---|
isLocked |
boolean |
|
name |
string |
|
newObjectId |
string |
|
oldObjectId |
string |
|
repositoryId |
string (uuid) |
GitRefUpdateResult
Nome | Tipo | Descrizione |
---|---|---|
customMessage |
string |
Messaggio personalizzato per l'oggetto risultato, ad esempio Motivo dell'errore. |
isLocked |
boolean |
Indica se il riferimento è bloccato o meno |
name |
string |
Nome riferimento |
newObjectId |
string |
Nuovo ID oggetto |
oldObjectId |
string |
ID oggetto precedente |
rejectedBy |
string |
Nome del plug-in che ha rifiutato l'aggiornamento. |
repositoryId |
string (uuid) |
Repository ID |
success |
boolean |
True se l'aggiornamento di riferimento è riuscito; in caso contrario, false |
updateStatus |
Stato dell'aggiornamento dal server TFS. |
GitRefUpdateStatus
Stato dell'aggiornamento dal server TFS.
Valore | Descrizione |
---|---|
createBranchPermissionRequired |
Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone dell'autorizzazione per creare un ramo |
createTagPermissionRequired |
Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone dell'autorizzazione per creare un tag |
forcePushRequired |
Indica che non è stato possibile completare la richiesta di aggiornamento ref perché parte del grafico verrebbe disconnessa da questa modifica e il chiamante non dispone dell'autorizzazione ForcePush per il repository. |
invalidRefName |
Indica che non è stato possibile completare la richiesta di aggiornamento ref perché il nome di riferimento presentato nella richiesta non è valido. |
locked |
Impossibile completare l'aggiornamento di riferimento perché il riferimento è bloccato da un altro utente. |
manageNotePermissionRequired |
Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone delle autorizzazioni di creazione note necessarie per scrivere questa nota |
refNameConflict |
Impossibile completare l'aggiornamento dei riferimenti perché, in modalità senza distinzione tra maiuscole e minuscole, il nome di riferimento è in conflitto con un nome di riferimento con maiuscole e minuscole esistente. |
rejectedByPlugin |
Impossibile completare l'aggiornamento di riferimento perché è stato rifiutato dal plug-in. |
rejectedByPolicy |
Impossibile completare l'aggiornamento di riferimento perché è stato rifiutato dai criteri. |
staleOldObjectId |
Indica che non è stato possibile completare la richiesta di aggiornamento ref perché l'ID oggetto precedente presentato nella richiesta non è l'ID oggetto del ref quando il database ha tentato l'aggiornamento. Lo scenario più probabile è che il chiamante ha perso una gara per aggiornare il riferimento. |
succeeded |
Indica che la richiesta di aggiornamento di riferimento è stata completata correttamente. |
succeededCorruptRef |
Indica che la richiesta di aggiornamento ref è stata completata correttamente, ma il riferimento passato è danneggiato, come in , l'ID oggetto precedente non è valido. Questa operazione dovrebbe verificarsi solo durante le eliminazioni. |
succeededNonExistentRef |
Indica che la richiesta di aggiornamento di riferimento è stata completata correttamente, ma il riferimento non esiste, quindi non sono state apportate modifiche. Questa operazione dovrebbe verificarsi solo durante le eliminazioni. |
unprocessed |
La richiesta non è stata elaborata |
unresolvableToCommit |
Impossibile completare la richiesta di aggiornamento ref perché non è stato possibile risolvere il nuovo ID oggetto per il riferimento in un oggetto commit (potenzialmente tramite un numero qualsiasi di tag) |
writePermissionRequired |
Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone delle autorizzazioni di scrittura necessarie per scrivere questo riferimento |