Sdílet prostřednictvím


Refs - Update Refs

Vytváření, aktualizace nebo odstraňování odkazů (větví)

Aktualizace odkazu znamená, že bude odkazovat na jiné potvrzení, než bylo použito. Abyste se vyhnuli podmínkám časování, musíte zadat staré i nové potvrzení.

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

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
organization
path True

string

Název organizace Azure DevOps.

repositoryId
path True

string

Název nebo ID úložiště.

project
path

string

ID projektu nebo název projektu

api-version
query True

string

Verze rozhraní API, která se má použít. Aby se tato verze rozhraní API používala, měla by být nastavená na 7.1-preview.1.

projectId
query

string

ID nebo název týmového projektu. Volitelné, pokud zadáte ID úložiště.

Text požadavku

Name Typ Description
body

GitRefUpdate[]

Seznam aktualizací odkazů, které se mají pokusit provést

Odpovědi

Name Typ Description
200 OK

GitRefUpdateResult[]

úspěšná operace

Zabezpečení

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 Description
vso.code_write Uděluje možnost číst, aktualizovat a odstraňovat zdrojový kód, přistupovat k metadatům o potvrzeních, sadách změn, větvích a dalších artefaktech správy verzí. Uděluje také možnost vytvářet a spravovat žádosti o přijetí změn a revize kódu a přijímat oznámení o událostech správy verzí prostřednictvím služby Hooks.

Příklady

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
}

Definice

Name Description
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Stav aktualizace ze serveru TFS.

GitRefUpdate

Name Typ Description
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string

GitRefUpdateResult

Name Typ Description
customMessage

string

Vlastní zpráva pro objekt výsledku: Například Důvod selhání.

isLocked

boolean

Jestli je odkaz uzamčený nebo ne

name

string

Referenční název

newObjectId

string

ID nového objektu

oldObjectId

string

ID starého objektu

rejectedBy

string

Název modulu plug-in, který odmítl aktualizovaný modul plug-in.

repositoryId

string

ID úložiště

success

boolean

True, pokud aktualizace odkazu proběhla úspěšně, v opačném případě false

updateStatus

GitRefUpdateStatus

Stav aktualizace ze serveru TFS.

GitRefUpdateStatus

Stav aktualizace ze serveru TFS.

Name Typ Description
createBranchPermissionRequired

string

Žádost o aktualizaci odkazu nelze dokončit, protože uživatel nemá oprávnění k vytvoření větve.

createTagPermissionRequired

string

Žádost o aktualizaci odkazu nelze dokončit, protože uživatel nemá oprávnění k vytvoření značky.

forcePushRequired

string

Označuje, že požadavek na aktualizaci odkazu nelze dokončit, protože část grafu by byla touto změnou odpojena a volající nemá v úložišti oprávnění ForcePush.

invalidRefName

string

Označuje, že požadavek na aktualizaci odkazu nelze dokončit, protože název odkazu uvedený v požadavku nebyl platný.

locked

string

Aktualizaci odkazu nelze dokončit, protože odkaz je uzamčen jiným uživatelem.

manageNotePermissionRequired

string

Žádost o aktualizaci odkazu nelze dokončit, protože uživatel nemá oprávnění k vytvoření poznámky potřebná k zápisu této poznámky.

refNameConflict

string

Aktualizaci odkazu nelze dokončit, protože v režimu bez rozlišování velkých a malých písmen je název odkazu v konfliktu s existujícím názvem odkazu s různými písmeny.

rejectedByPlugin

string

Aktualizaci odkazu nebylo možné dokončit, protože modul plug-in ji odmítl.

rejectedByPolicy

string

Aktualizaci odkazu nebylo možné dokončit, protože byla odmítnuta zásadami.

staleOldObjectId

string

Označuje, že požadavek na aktualizaci odkazu nelze dokončit, protože původní ID objektu uvedené v požadavku nebylo ID objektu odkaz při pokusu databáze o aktualizaci. Nejpravděpodobnějším scénářem je, že volající prohrál závod, aby aktualizoval odkaz.

succeeded

string

Označuje, že žádost o aktualizaci odkazu byla úspěšně dokončena.

succeededCorruptRef

string

Označuje, že požadavek na aktualizaci odkazu byl úspěšně dokončen, ale předaný odkaz byl poškozen – stejně jako v případě, staré ID objektu bylo chybné. K tomu by mělo dojít pouze během odstraňování.

succeededNonExistentRef

string

Označuje, že žádost o aktualizaci odkazu byla úspěšně dokončena, ale odkaz ve skutečnosti neexistuje, takže nebyly provedeny žádné změny. K tomu by mělo dojít pouze během odstraňování.

unprocessed

string

Požadavek se nezpracoval.

unresolvableToCommit

string

Žádost o aktualizaci odkazu se nepodařilo dokončit, protože ID nového objektu odkaz nebylo možné přeložit na objekt potvrzení (potenciálně prostřednictvím libovolného počtu značek).

writePermissionRequired

string

Žádost o aktualizaci odkazu nebylo možné dokončit, protože uživatel nemá oprávnění k zápisu potřebné k zápisu tohoto odkazu.