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. |
repository
|
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. |
project
|
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 |
Lista de actualizaciones ref para intentar realizar |
Respuestas
Nombre | Tipo | Description |
---|---|---|
200 OK |
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 |
---|---|
Git |
|
Git |
|
Git |
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 |
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 |