Compartilhar via


Refs - Update Refs

Criando, atualizando ou excluindo refs(branches).

Atualizar um ref significa fazer com que ele aponte para uma confirmação diferente do que costumava fazer. Você deve especificar a confirmação antiga e nova para evitar condições de corrida.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
organization
path True

string

O nome da organização do Azure DevOps.

repositoryId
path True

string

O nome ou a ID do repositório.

project
path

string

ID do projeto ou nome do projeto

api-version
query True

string

Versão da API a ser usada. Isso deve ser definido como '7.1' para usar essa versão da api.

projectId
query

string

ID ou nome do projeto de equipe. Opcional se especificar uma ID para o repositório.

Corpo da solicitação

Nome Tipo Description
body

GitRefUpdate[]

Lista de atualizações ref para tentar executar

Respostas

Nome Tipo Description
200 OK

GitRefUpdateResult[]

operação bem-sucedida

Segurança

oauth2

Tipo: oauth2
Flow: accessCode
URL de Autorização: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL do Token: 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

Escopos

Nome Description
vso.code_write Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre confirmações, conjuntos de alterações, branches e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar solicitações de pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço.

Exemplos

Create/Update/Delete a ref by repositoryId

Solicitação de exemplo

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

Resposta de exemplo

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
}

Definições

Nome Description
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Status da atualização do servidor TFS.

GitRefUpdate

Nome Tipo Description
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string (uuid)

GitRefUpdateResult

Nome Tipo Description
customMessage

string

Mensagem personalizada para o objeto de resultado Por exemplo, Motivo da falha.

isLocked

boolean

Se o ref está bloqueado ou não

name

string

Nome do ref

newObjectId

string

Nova ID do objeto

oldObjectId

string

ID do objeto antigo

rejectedBy

string

Nome do plug-in que rejeitou a atualização.

repositoryId

string (uuid)

ID do repositório

success

boolean

True se a atualização ref tiver sido bem-sucedida, caso contrário, false

updateStatus

GitRefUpdateStatus

Status da atualização do servidor TFS.

GitRefUpdateStatus

Status da atualização do servidor TFS.

Valor Description
createBranchPermissionRequired

A solicitação de atualização ref não pôde ser concluída porque o usuário não tem permissão para criar um branch

createTagPermissionRequired

A solicitação de atualização ref não pôde ser concluída porque o usuário não tem permissão para criar uma marca

forcePushRequired

Indica que a solicitação de atualização ref não pôde ser concluída porque parte do grafo seria desconectada por essa alteração e o chamador não tem permissão ForcePush no repositório.

invalidRefName

Indica que a solicitação de atualização ref não pôde ser concluída porque o nome ref apresentado na solicitação não era válido.

locked

A atualização ref não pôde ser concluída porque o ref está bloqueado por outro usuário.

manageNotePermissionRequired

A solicitação de atualização ref não pôde ser concluída porque o usuário não tem permissões de criação de anotação necessárias para gravar esta anotação

refNameConflict

A atualização ref não pôde ser concluída porque, no modo que não diferencia maiúsculas de minúsculas, o nome de ref entra em conflito com um nome ref existente, com maiúsculas e minúsculas.

rejectedByPlugin

A atualização ref não pôde ser concluída porque foi rejeitada pelo plug-in.

rejectedByPolicy

A atualização ref não pôde ser concluída porque foi rejeitada pela política.

staleOldObjectId

Indica que a solicitação de atualização ref não pôde ser concluída porque a ID de objeto antiga apresentada na solicitação não era a ID do objeto do ref quando o banco de dados tentou a atualização. O cenário mais provável é que o chamador perdeu uma corrida para atualizar o ref.

succeeded

Indica que a solicitação de atualização ref foi concluída com êxito.

succeededCorruptRef

Indica que a solicitação de atualização ref foi concluída com êxito, mas o ref de passagem estava corrompido - como em, a ID do objeto antigo estava incorreta. Isso só deve acontecer durante as exclusões.

succeededNonExistentRef

Indica que a solicitação de atualização ref foi concluída com êxito, mas o ref não existe, portanto, nenhuma alteração foi feita. Isso só deve acontecer durante as exclusões.

unprocessed

A solicitação não foi processada

unresolvableToCommit

A solicitação de atualização ref não pôde ser concluída porque a nova ID do objeto para o ref não pôde ser resolvida para um objeto de confirmação (potencialmente por meio de qualquer número de marcas)

writePermissionRequired

A solicitação de atualização ref não pôde ser concluída porque o usuário não tem permissões de gravação necessárias para gravar esse ref