Refs - Update Refs

Criando, atualizando ou excluindo refs(branches).

Atualizar um ref significa fazer com que ele aponte para um commit diferente do que costumava fazer. Você deve especificar o commit antigo e o novo para evitar condições de corrida.

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

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-preview.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

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

Nome Description
vso.code_write Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre commits, 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

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
}

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

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

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.

Nome Tipo Description
createBranchPermissionRequired

string

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

string

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

string

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

string

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

string

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

manageNotePermissionRequired

string

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

string

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 ref está em conflito com um nome ref existente e diferenciado.

rejectedByPlugin

string

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

rejectedByPolicy

string

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

staleOldObjectId

string

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 tenha perdido uma corrida para atualizar o ref.

succeeded

string

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

succeededCorruptRef

string

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

succeededNonExistentRef

string

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

unprocessed

string

A solicitação não foi processada

unresolvableToCommit

string

A solicitação de atualização ref não pôde ser concluída porque a nova ID de 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

string

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 este ref