Compartir a través de


Refs - Update Refs

Creación, actualización o eliminación de referencias (ramas).

Actualizar una referencia significa hacer que apunte a una confirmación diferente a la que usó. Debe especificar tanto la confirmación anterior como la nueva para evitar condiciones de carrera.

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 identificador URI

Nombre En Requerido Tipo Description
organization
path True

string

Nombre de la organización de Azure DevOps.

repositoryId
path True

string

Nombre o identificador del repositorio.

project
path

string

Id. de proyecto o nombre del proyecto

api-version
query True

string

Versión de la API que se va a usar. Debe establecerse en "7.1" para usar esta versión de la API.

projectId
query

string

Identificador o nombre del proyecto de equipo. Opcional si especifica un identificador para el repositorio.

Cuerpo de la solicitud

Nombre Tipo Description
body

GitRefUpdate[]

Lista de actualizaciones ref para intentar realizar

Respuestas

Nombre Tipo Description
200 OK

GitRefUpdateResult[]

operación correcta

Seguridad

oauth2

Tipo: oauth2
Flujo: accessCode
Dirección URL de autorización: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Dirección URL del 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

Ámbitos

Nombre Description
vso.code_write Concede la capacidad de leer, actualizar y eliminar código fuente, acceder a metadatos sobre confirmaciones, conjuntos de cambios, ramas y otros artefactos de control de versiones. También concede la capacidad de crear y administrar solicitudes de incorporación de cambios y revisiones de código y recibir notificaciones sobre eventos de control de versiones a través de enlaces de servicio.

Ejemplos

Create/Update/Delete a ref by repositoryId

Solicitud de ejemplo

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

Respuesta de muestra

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
}

Definiciones

Nombre Description
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

Estado de la actualización desde el servidor TFS.

GitRefUpdate

Nombre Tipo Description
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string (uuid)

GitRefUpdateResult

Nombre Tipo Description
customMessage

string

Mensaje personalizado para el objeto de resultado Por ejemplo, motivo por el que se produce un error.

isLocked

boolean

Si la referencia está bloqueada o no

name

string

Nombre de referencia

newObjectId

string

Nuevo identificador de objeto

oldObjectId

string

Id. de objeto antiguo

rejectedBy

string

Nombre del complemento que rechazó la actualización.

repositoryId

string (uuid)

Id. de repositorio

success

boolean

True si la actualización de referencia se realizó correctamente; de lo contrario, false

updateStatus

GitRefUpdateStatus

Estado de la actualización desde el servidor TFS.

GitRefUpdateStatus

Estado de la actualización desde el servidor TFS.

Valor Description
createBranchPermissionRequired

No se pudo completar la solicitud de actualización de referencia porque el usuario carece del permiso para crear una rama.

createTagPermissionRequired

No se pudo completar la solicitud de actualización de referencia porque el usuario carece del permiso para crear una etiqueta.

forcePushRequired

Indica que no se pudo completar la solicitud de actualización de referencia porque parte del grafo se desconectaría con este cambio y el autor de la llamada no tiene el permiso ForcePush en el repositorio.

invalidRefName

Indica que no se pudo completar la solicitud de actualización ref porque el nombre ref presentado en la solicitud no era válido.

locked

No se pudo completar la actualización ref porque otro usuario bloquea la referencia.

manageNotePermissionRequired

No se pudo completar la solicitud de actualización de referencia porque el usuario carece de permisos de creación de notas necesarios para escribir esta nota.

refNameConflict

No se pudo completar la actualización ref porque, en modo que no distingue mayúsculas de minúsculas, el nombre ref entra en conflicto con un nombre ref existente y con mayúsculas y minúsculas.

rejectedByPlugin

No se pudo completar la actualización ref porque el complemento lo rechazó.

rejectedByPolicy

No se pudo completar la actualización ref porque la directiva la rechazó.

staleOldObjectId

Indica que no se pudo completar la solicitud de actualización de referencia porque el identificador de objeto antiguo presentado en la solicitud no era el identificador de objeto de la referencia cuando la base de datos intentó la actualización. El escenario más probable es que el autor de la llamada perdió una carrera para actualizar la referencia.

succeeded

Indica que la solicitud de actualización ref se completó correctamente.

succeededCorruptRef

Indica que la solicitud de actualización de referencia se completó correctamente, pero la referencia pasada estaba dañada; como en, el identificador de objeto anterior era incorrecto. Esto solo debe ocurrir durante las eliminaciones.

succeededNonExistentRef

Indica que la solicitud de actualización ref se completó correctamente, pero la referencia no existe realmente, por lo que no se realizaron cambios. Esto solo debe ocurrir durante las eliminaciones.

unprocessed

La solicitud no se procesó

unresolvableToCommit

No se pudo completar la solicitud de actualización de referencia porque el nuevo identificador de objeto para la referencia no se pudo resolver en un objeto de confirmación (posiblemente a través de cualquier número de etiquetas).

writePermissionRequired

No se pudo completar la solicitud de actualización de referencia porque el usuario carece de permisos de escritura necesarios para escribir esta referencia