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. |
|
repository
|
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. |
|
project
|
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 |
Lista de atualizações ref para tentar executar |
Respostas
| Nome | Tipo | Description |
|---|---|---|
| 200 OK |
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 |
|---|---|
|
Git |
|
|
Git |
|
|
Git |
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 |
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 |