Refs - Update Refs
Erstellen, Aktualisieren oder Löschen von Refs(Branches).
Das Aktualisieren eines Bezugs bedeutet, dass er auf einen anderen Commit verweist als bei dem verwendeten Commit. Sie müssen sowohl den alten als auch den neuen Commit angeben, um Rennbedingungen zu vermeiden.
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
URI-Parameter
Name | In | Erforderlich | Typ | Beschreibung |
---|---|---|---|---|
organization
|
path | True |
string |
Der Name der Azure DevOps-Organisation. |
repository
|
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 "7.1" festgelegt werden, um diese Version der API zu verwenden. |
project
|
query |
string |
ID oder Name des Teamprojekts. Optional, wenn Sie eine ID für das Repository angeben. |
Anforderungstext
Name | Typ | Beschreibung |
---|---|---|
body |
Liste der Referenzaktualisierungen, die versucht werden sollen, auszuführen |
Antworten
Name | Typ | Beschreibung |
---|---|---|
200 OK |
Erfolgreicher Vorgang |
Sicherheit
oauth2
Typ:
oauth2
Ablauf:
accessCode
Autorisierungs-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
Bereiche
Name | Beschreibung |
---|---|
vso.code_write | Gewährt die Möglichkeit, Quellcode zu lesen, zu aktualisieren und zu löschen, auf Metadaten zu Commits, Änderungenets, Verzweigungen und anderen Versionssteuerungsartefakten zuzugreifen. Gewährt außerdem die Möglichkeit, Pullanforderungen und Codeüberprüfungen zu erstellen und zu verwalten und Benachrichtigungen über Versionssteuerungsereignisse über Dienst-Hooks zu erhalten. |
Beispiele
Create/Update/Delete a ref by repositoryId
Beispielanforderung
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"
}
]
Beispiel für eine Antwort
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 |
---|---|
Git |
|
Git |
|
Git |
Status des Updates vom TFS-Server. |
GitRefUpdate
Name | Typ | Beschreibung |
---|---|---|
isLocked |
boolean |
|
name |
string |
|
newObjectId |
string |
|
oldObjectId |
string |
|
repositoryId |
string (uuid) |
GitRefUpdateResult
Name | Typ | Beschreibung |
---|---|---|
customMessage |
string |
Benutzerdefinierte Meldung für das Ergebnisobjekt, z. B. Grund für fehler. |
isLocked |
boolean |
Gibt an, ob der Bezug gesperrt ist oder nicht. |
name |
string |
Verweisname |
newObjectId |
string |
Neue Objekt-ID |
oldObjectId |
string |
Alte Objekt-ID |
rejectedBy |
string |
Name des Plug-Ins, das die Aktualisierung abgelehnt hat. |
repositoryId |
string (uuid) |
Repository-ID |
success |
boolean |
True, wenn die Verweisaktualisierung erfolgreich war, andernfalls "false" |
updateStatus |
Status des Updates vom TFS-Server. |
GitRefUpdateStatus
Status des Updates vom TFS-Server.
Wert | Beschreibung |
---|---|
createBranchPermissionRequired |
Die Anforderung für die Referenzaktualisierung konnte nicht abgeschlossen werden, da der Benutzer nicht über die Berechtigung zum Erstellen einer Verzweigung verfügt. |
createTagPermissionRequired |
Die Anforderung für die Referenzaktualisierung konnte nicht abgeschlossen werden, da der Benutzer nicht über die Berechtigung zum Erstellen eines Tags verfügt. |
forcePushRequired |
Gibt an, dass die Anforderung für die Referenzaktualisierung nicht abgeschlossen werden konnte, da ein Teil des Diagramms durch diese Änderung getrennt wurde und der Aufrufer keine ForcePush-Berechtigung für das Repository besitzt. |
invalidRefName |
Gibt an, dass die Verweisaktualisierungsanforderung nicht abgeschlossen werden konnte, da der in der Anforderung dargestellte Verweisname ungültig war. |
locked |
Die Verweisaktualisierung konnte nicht abgeschlossen werden, da der Verweis von einem anderen Benutzer gesperrt ist. |
manageNotePermissionRequired |
Die Anforderung zur Referenzaktualisierung konnte nicht abgeschlossen werden, da dem Benutzer keine Notizerstellungsberechtigungen zum Schreiben dieser Notiz fehlen. |
refNameConflict |
Die Referenzaktualisierung konnte nicht abgeschlossen werden, da der Verweisname im Modus ohne Groß-/Kleinschreibung mit einem vorhandenen, anders groß-groß-stehenden Verweisnamen in Konflikt stand. |
rejectedByPlugin |
Die Referenzaktualisierung konnte nicht abgeschlossen werden, da sie vom Plug-In abgelehnt wurde. |
rejectedByPolicy |
Die Verweisaktualisierung konnte nicht abgeschlossen werden, weil sie von der Richtlinie abgelehnt wurde. |
staleOldObjectId |
Gibt an, dass die Verweisaktualisierungsanforderung nicht abgeschlossen werden konnte, da die in der Anforderung dargestellte alte Objekt-ID nicht die Objekt-ID des Bezugs war, als die Datenbank versucht hat, die Aktualisierung auszuführen. Das wahrscheinlichste Szenario ist, dass der Anrufer ein Rennen verloren hat, um den Verweis zu aktualisieren. |
succeeded |
Gibt an, dass die Anforderung für die Referenzaktualisierung erfolgreich abgeschlossen wurde. |
succeededCorruptRef |
Gibt an, dass die Anforderung für die Verweisaktualisierung erfolgreich abgeschlossen wurde, aber die übergebene Referenz beschädigt war – wie in, die alte Objekt-ID war ungültig. Dies sollte nur bei Löschvorgangen geschehen. |
succeededNonExistentRef |
Gibt an, dass die Anforderung für die Verweisaktualisierung erfolgreich abgeschlossen wurde, aber der Verweis ist nicht tatsächlich vorhanden, sodass keine Änderungen vorgenommen wurden. Dies sollte nur bei Löschvorgangen geschehen. |
unprocessed |
Die Anforderung wurde nicht verarbeitet. |
unresolvableToCommit |
Die Anforderung für die Verweisaktualisierung konnte nicht abgeschlossen werden, da die neue Objekt-ID für den Verweis nicht in ein Commit-Objekt aufgelöst werden konnte (möglicherweise über eine beliebige Anzahl von Tags) |
writePermissionRequired |
Die Anforderung für die Referenzaktualisierung konnte nicht abgeschlossen werden, da dem Benutzer keine Schreibberechtigungen zum Schreiben dieser Referenz fehlen. |