Freigeben über


Refs - Update Refs

Erstellen, Aktualisieren oder Löschen von refs(branches).

Das Aktualisieren eines Verweises bedeutet, dass er auf einen anderen Commit als bisher verweist. Sie müssen sowohl den alten als auch den neuen Commit angeben, um Racebedingungen zu vermeiden.

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
organization
path True

string

Der Name der Azure DevOps-Organisation.

repositoryId
path True

string

Der Name oder die ID des Repositorys.

project
path

string

Projekt-ID oder Projektname

api-version
query True

string

Version der zu verwendenden API. Dies sollte auf "5.0" festgelegt werden, um diese Version der API zu verwenden.

projectId
query

string

ID oder Name des Teamprojekts. Optional, wenn eine ID für das Repository angegeben wird.

Anforderungstext

Name Typ Beschreibung
body

GitRefUpdate[]

Liste der Ref-Updates, die durchgeführt werden sollen

Antworten

Name Typ Beschreibung
200 OK

GitRefUpdateResult[]

Erfolgreicher Vorgang

Sicherheit

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

Name Beschreibung
vso.code_write Ermöglicht das Lesen, Aktualisieren und Löschen von Quellcode, den Zugriff auf Metadaten zu Commits, Changesets, Branches und anderen Versionskontrollartefakten. Ermöglicht außerdem das Erstellen und Verwalten von Pull Requests und Code Reviews sowie das Empfangen von Benachrichtigungen zu Versionskontrollereignissen über Diensthooks.

Beispiele

Create/Update/Delete a ref by repositoryId

Sample Request

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

[
  {
    "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
}

Definitionen

Name Beschreibung
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Status des Updates vom TFS-Server.

GitRefUpdate

Name Typ Beschreibung
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string

GitRefUpdateResult

Name Typ Beschreibung
customMessage

string

Benutzerdefinierte Meldung für das Ergebnisobjekt Für instance, Grund für fehler.

isLocked

boolean

Gibt an, ob der Verweis gesperrt ist oder nicht

name

string

Ref-Name

newObjectId

string

Neue Objekt-ID

oldObjectId

string

Alte Objekt-ID

rejectedBy

string

Name des Plug-Ins, das die Aktualisierung abgelehnt hat.

repositoryId

string

Repository-ID

success

boolean

True, wenn die Ref-Aktualisierung erfolgreich war, andernfalls false

updateStatus

GitRefUpdateStatus

Status des Updates vom TFS-Server.

GitRefUpdateStatus

Status des Updates vom TFS-Server.

Name Typ Beschreibung
createBranchPermissionRequired

string

Die Anforderung zum Aktualisieren des Verweiss konnte nicht abgeschlossen werden, da dem Benutzer die Berechtigung zum Erstellen eines Branchs fehlt.

createTagPermissionRequired

string

Die Anforderung zum Aktualisieren des Verweiss konnte nicht abgeschlossen werden, da dem Benutzer die Berechtigung zum Erstellen eines Tags fehlt.

forcePushRequired

string

Gibt an, dass die Anforderung zur Ref-Aktualisierung nicht abgeschlossen werden konnte, da ein Teil des Graphen durch diese Änderung getrennt würde und der Aufrufer nicht über die ForcePush-Berechtigung für das Repository verfügt.

invalidRefName

string

Gibt an, dass die Anforderung zum Aktualisieren des Verweiss nicht abgeschlossen werden konnte, da der in der Anforderung dargestellte Verweisname ungültig war.

locked

string

Die Ref-Aktualisierung konnte nicht abgeschlossen werden, da der Verweis von einem anderen Benutzer gesperrt wurde.

manageNotePermissionRequired

string

Die Anforderung zum Aktualisieren des Verweiss konnte nicht abgeschlossen werden, da dem Benutzer die erforderlichen Berechtigungen zum Erstellen dieser Notiz fehlen.

refNameConflict

string

Die Ref-Aktualisierung konnte nicht abgeschlossen werden, da der Verweisname im Modus ohne Berücksichtigung der Groß-/Kleinschreibung mit einem vorhandenen Ref-Namen in unterschiedlicher Groß-/Kleinschreibung in Konflikt stehen.

rejectedByPlugin

string

Das Ref-Update konnte nicht abgeschlossen werden, da es vom Plug-In abgelehnt wurde.

rejectedByPolicy

string

Die Ref-Aktualisierung konnte nicht abgeschlossen werden, da sie von der Richtlinie abgelehnt wurde.

staleOldObjectId

string

Gibt an, dass die Anforderung zum Aktualisieren des Verweiss nicht abgeschlossen werden konnte, da die in der Anforderung dargestellte alte Objekt-ID nicht die Objekt-ID des Verweiss war, als die Datenbank versucht hat, das Update zu aktualisieren. Das wahrscheinlichste Szenario ist, dass der Aufrufer ein Rennen verloren hat, um den Verweis zu aktualisieren.

succeeded

string

Gibt an, dass die Anforderung zum Aktualisieren der Referenz erfolgreich abgeschlossen wurde.

succeededCorruptRef

string

Gibt an, dass die Anforderung zum Aktualisieren des Verweiss erfolgreich abgeschlossen wurde, aber der übergebene Verweis beschädigt war. Wie in war die alte Objekt-ID ungültig. Dies sollte nur während Löschvorgängen geschehen.

succeededNonExistentRef

string

Gibt an, dass die Anforderung zum Aktualisieren des Verweiss erfolgreich abgeschlossen wurde, die Referenz jedoch nicht vorhanden ist, sodass keine Änderungen vorgenommen wurden. Dies sollte nur während Löschvorgängen geschehen.

unprocessed

string

Die Anforderung wurde nicht verarbeitet.

unresolvableToCommit

string

Die Anforderung zum Aktualisieren des Verweiss konnte nicht abgeschlossen werden, da die neue Objekt-ID für den Verweis nicht in ein Commitobjekt aufgelöst werden konnte (möglicherweise über eine beliebige Anzahl von Tags).

writePermissionRequired

string

Die Anforderung zum Aktualisieren des Verweiss konnte nicht abgeschlossen werden, da dem Benutzer keine Schreibberechtigungen zum Schreiben dieser Ref fehlen.