Condividi tramite


Refs - Update Refs

Creazione, aggiornamento o eliminazione di refs(branch).

L'aggiornamento di un riferimento indica che punta a un commit diverso da quello usato. È necessario specificare sia il vecchio che il nuovo commit per evitare condizioni di gara.

POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=7.1-preview.1
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?projectId={projectId}&api-version=7.1-preview.1

Parametri dell'URI

Nome In Necessario Tipo Descrizione
organization
path True

string

Nome dell'organizzazione di Azure DevOps.

repositoryId
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. Questa opzione deve essere impostata su '7.1-preview.1' per usare questa versione dell'API.

projectId
query

string

ID o nome del progetto team. Facoltativo se si specifica un ID per il repository.

Corpo della richiesta

Nome Tipo Descrizione
body

GitRefUpdate[]

Elenco degli aggiornamenti di riferimento per tentare di eseguire

Risposte

Nome Tipo Descrizione
200 OK

GitRefUpdateResult[]

operazione riuscita

Sicurezza

oauth2

Type: oauth2
Flow: accessCode
Authorization URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL: 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

Scopes

Nome Descrizione
vso.code_write Concede la possibilità di leggere, aggiornare ed eliminare codice sorgente, accedere ai metadati relativi ai commit, ai set di modifiche, ai rami e ad 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 gli hook del servizio.

Esempio

Create/Update/Delete a ref by repositoryId

Sample Request

POST https://dev.azure.com/fabrikam/_apis/git/repositories/{repositoryId}/refs?api-version=7.1-preview.1

[
  {
    "name": "refs/heads/vsts-api-sample/answer-woman-flame",
    "oldObjectId": "0000000000000000000000000000000000000000",
    "newObjectId": "ffe9cba521f00d7f60e322845072238635edb451"
  }
]

Sample Response

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
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Stato dell'aggiornamento dal server TFS.

GitRefUpdate

Nome Tipo Descrizione
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string

GitRefUpdateResult

Nome Tipo Descrizione
customMessage

string

Messaggio personalizzato per l'oggetto risultato Per esempio, Motivo dell'errore.

isLocked

boolean

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

Repository ID

success

boolean

True se l'aggiornamento ref ha avuto esito positivo, false in caso contrario, false

updateStatus

GitRefUpdateStatus

Stato dell'aggiornamento dal server TFS.

GitRefUpdateStatus

Stato dell'aggiornamento dal server TFS.

Nome Tipo Descrizione
createBranchPermissionRequired

string

Impossibile completare la richiesta di aggiornamento ref perché l'utente non ha l'autorizzazione per creare un ramo

createTagPermissionRequired

string

Impossibile completare la richiesta di aggiornamento ref perché l'utente non ha l'autorizzazione per creare un tag

forcePushRequired

string

Indica che non è stato possibile completare la richiesta di aggiornamento di riferimento perché la parte del grafico verrà disconnessa da questa modifica e il chiamante non dispone dell'autorizzazione ForcePush nel repository.

invalidRefName

string

Indica che non è stato possibile completare la richiesta di aggiornamento di riferimento perché il nome di riferimento presentato nella richiesta non è stato valido.

locked

string

Impossibile completare l'aggiornamento di riferimento perché il ref è bloccato da un altro utente.

manageNotePermissionRequired

string

Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone delle autorizzazioni di creazione note necessarie per scrivere questa nota

refNameConflict

string

Impossibile completare l'aggiornamento di riferimento perché, in modalità senza distinzione tra maiuscole e minuscole, il nome di riferimento è in conflitto con un nome di riferimento esistente e con maiuscole e minuscole.

rejectedByPlugin

string

Impossibile completare l'aggiornamento di riferimento perché è stato rifiutato dal plug-in.

rejectedByPolicy

string

Impossibile completare l'aggiornamento di riferimento perché è stato rifiutato dai criteri.

staleOldObjectId

string

Indica che non è stato possibile completare la richiesta di aggiornamento di riferimento perché l'ID oggetto precedente presentato nella richiesta non era 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 ref.

succeeded

string

Indica che la richiesta di aggiornamento ref è stata completata correttamente.

succeededCorruptRef

string

Indica che la richiesta di aggiornamento ref è stata completata correttamente, ma il riferimento passato è stato danneggiato, come in, l'ID oggetto precedente è stato errato. Questa operazione dovrebbe verificarsi solo durante le eliminazioni.

succeededNonExistentRef

string

Indica che la richiesta di aggiornamento ref è stata completata correttamente, ma il riferimento non esiste in realtà in modo che non siano state apportate modifiche. Questa operazione dovrebbe verificarsi solo durante le eliminazioni.

unprocessed

string

La richiesta non è stata elaborata

unresolvableToCommit

string

Impossibile completare la richiesta di aggiornamento ref perché non è stato possibile risolvere il nuovo ID oggetto per il ref a un oggetto commit (potenzialmente tramite qualsiasi numero di tag)

writePermissionRequired

string

Impossibile completare la richiesta di aggiornamento ref perché l'utente non dispone delle autorizzazioni di scrittura necessarie per scrivere questo riferimento