Udostępnij za pośrednictwem


Refs - Update Refs

Tworzenie, aktualizowanie lub usuwanie elementów refs(gałęzi).

Aktualizowanie odwołania oznacza, że wskazuje ono na inne zatwierdzenie niż używane. Należy określić zarówno stare, jak i nowe zatwierdzenie, aby uniknąć warunków wyścigu.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
organization
path True

string

Nazwa organizacji usługi Azure DevOps.

repositoryId
path True

string

Nazwa lub identyfikator repozytorium.

project
path

string

Identyfikator projektu lub nazwa projektu

api-version
query True

string

Wersja interfejsu API do użycia. Należy ustawić wartość "7.1", aby używać tej wersji interfejsu API.

projectId
query

string

Identyfikator lub nazwa projektu zespołowego. Opcjonalnie, jeśli określono identyfikator repozytorium.

Treść żądania

Nazwa Typ Opis
body

GitRefUpdate[]

Lista aktualizacji ref do wykonania

Odpowiedzi

Nazwa Typ Opis
200 OK

GitRefUpdateResult[]

operacja zakończona powodzeniem

Zabezpieczenia

oauth2

Typ: oauth2
Flow: accessCode
Adres URL autoryzacji: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Adres URL tokenu: 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

Zakresy

Nazwa Opis
vso.code_write Umożliwia odczytywanie, aktualizowanie i usuwanie kodu źródłowego, uzyskiwanie dostępu do metadanych dotyczących zatwierdzeń, zestawów zmian, gałęzi i innych artefaktów kontroli wersji. Ponadto umożliwia tworzenie żądań ściągnięcia i przeglądów kodu oraz zarządzanie nimi oraz odbieranie powiadomień o zdarzeniach kontroli wersji za pośrednictwem punktów zaczepienia usługi.

Przykłady

Create/Update/Delete a ref by repositoryId

Przykładowe żądanie

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"
  }
]

Przykładowa odpowiedź

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
}

Definicje

Nazwa Opis
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Stan aktualizacji z serwera TFS.

GitRefUpdate

Nazwa Typ Opis
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string (uuid)

GitRefUpdateResult

Nazwa Typ Opis
customMessage

string

Niestandardowy komunikat dla obiektu wynikowego Na przykład Przyczyna niepowodzenia.

isLocked

boolean

Niezależnie od tego, czy ref jest zablokowany, czy nie

name

string

Nazwa odwołania

newObjectId

string

Nowy identyfikator obiektu

oldObjectId

string

Stary identyfikator obiektu

rejectedBy

string

Nazwa wtyczki, która odrzuciła zaktualizowaną.

repositoryId

string (uuid)

Identyfikator repozytorium

success

boolean

Prawda, jeśli aktualizacja ref powiodła się, w przeciwnym razie wartość false

updateStatus

GitRefUpdateStatus

Stan aktualizacji z serwera TFS.

GitRefUpdateStatus

Stan aktualizacji z serwera TFS.

Wartość Opis
createBranchPermissionRequired

Nie można ukończyć żądania aktualizacji ref, ponieważ użytkownik nie ma uprawnień do tworzenia gałęzi

createTagPermissionRequired

Nie można ukończyć żądania aktualizacji odwołania, ponieważ użytkownik nie ma uprawnień do utworzenia tagu

forcePushRequired

Wskazuje, że nie można ukończyć żądania aktualizacji ref, ponieważ część grafu zostanie odłączona przez tę zmianę, a obiekt wywołujący nie ma uprawnień ForcePush w repozytorium.

invalidRefName

Wskazuje, że nie można ukończyć żądania aktualizacji odwołania, ponieważ nazwa ref przedstawiona w żądaniu jest nieprawidłowa.

locked

Nie można ukończyć aktualizacji odwołania, ponieważ odwołanie jest zablokowane przez innego użytkownika.

manageNotePermissionRequired

Nie można ukończyć żądania aktualizacji odwołania, ponieważ użytkownik nie ma uprawnień do tworzenia notatek wymaganych do zapisania tej notatki

refNameConflict

Nie można ukończyć aktualizacji odwołania, ponieważ w trybie bez uwzględniania wielkości liter nazwa ref powoduje konflikt z istniejącą, inaczej wielkością liter nazwy ref.

rejectedByPlugin

Nie można ukończyć aktualizacji ref, ponieważ została odrzucona przez wtyczkę.

rejectedByPolicy

Nie można ukończyć aktualizacji ref, ponieważ została odrzucona przez zasady.

staleOldObjectId

Wskazuje, że nie można ukończyć żądania aktualizacji odwołania, ponieważ stary identyfikator obiektu przedstawiony w żądaniu nie był identyfikatorem obiektu ref podczas próby aktualizacji bazy danych. Najbardziej prawdopodobnym scenariuszem jest to, że wywołujący stracił wyścig, aby zaktualizować ref.

succeeded

Wskazuje, że żądanie aktualizacji ref zostało ukończone pomyślnie.

succeededCorruptRef

Wskazuje, że żądanie aktualizacji ref zostało ukończone pomyślnie, ale przekazany ref jest uszkodzony — podobnie jak w przypadku starego identyfikatora obiektu był nieprawidłowy. Powinno się to zdarzyć tylko podczas usuwania.

succeededNonExistentRef

Wskazuje, że żądanie aktualizacji ref zostało ukończone pomyślnie, ale odwołanie nie istnieje, więc nie wprowadzono żadnych zmian. Powinno się to zdarzyć tylko podczas usuwania.

unprocessed

Żądanie nie zostało przetworzone

unresolvableToCommit

Nie można ukończyć żądania aktualizacji odwołania, ponieważ nie można rozpoznać nowego identyfikatora obiektu dla odwołania do obiektu zatwierdzenia (potencjalnie za pomocą dowolnej liczby tagów)

writePermissionRequired

Nie można ukończyć żądania aktualizacji odwołania, ponieważ użytkownik nie ma uprawnień do zapisu wymaganego do zapisu tego odwołania