software - Cómo eliminar la solicitud de fusión del servidor GitLab
software git lab (4)
He creado una solicitud de combinación en el servidor gitlab (local). Ahora, cada vez que hago clic en la solicitud de combinación, la solicitud se agota con el error 500. Antes, solía obtener un código de error 504 y apliqué el cambio mencionado en este tema de soporte de gitlab .
Todo lo que quiero hacer es eliminar la solicitud de combinación. ¿Hay una forma manual de hacer esto?
Opción de interfaz de usuario web
Hoy descubrí una forma de hacer esto con la interfaz de usuario web.
Así que para la solicitud de fusión 14
https://gitlab.example.com/MyGroup/MyProject/merge_requests/14/edit
En la parte inferior derecha debería ver un botón rojo Eliminar .
Opción PowerShell
Invoke-RestMethod -Method Delete -Uri ''https://gitlab.example.com/api/v4/projects/PROJECT_ID_GOES_HERE/merge_requests/14'' -Headers @{''PRIVATE-TOKEN''=''PRIVATE_TOKEN_GOES_HERE''}
No sé si esto también funciona con CE, pero al menos EE tiene un punto final de API para eliminar solicitudes de combinación:
curl --request DELETE --header "PRIVATE-TOKEN: <private_token>" https://gitlab.example.com/api/v3/projects/4/merge_request/85
Sí, hay ... No pude encontrar una manera de eliminar la solicitud de combinación en la interfaz de usuario, pero simplemente puede eliminarla de la base de datos.
(Tenga en cuenta que solo probé esto en gitlab CE 8.4.0-ce.0 en Ubuntu 14.04.3 LTS .. Otras versiones pueden tener una estructura de base de datos diferente)
En un símbolo del sistema, ejecute el siguiente comando (como root):
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production
Esto abrirá un terminal de comando PostgreSQL. A continuación, tendrá que encontrar la solicitud de combinación que desea eliminar. Escriba lo siguiente en el terminal de comando PostgreSQL:
select id, title from merge_requests;
Obtendrá una lista de identificadores y títulos de solicitud de fusión. Encuentra el que quieras eliminar y anota la id
De acuerdo, supongamos que ha encontrado la solicitud de combinación que desea eliminar y que el id
es 5
. Simplemente va a eliminar todos los datos asociados con esa solicitud de combinación utilizando los siguientes comandos SQL. (Sustituya 5
en los comandos a continuación con su id
solicitud de fusión real)
delete from merge_requests where id = 5;
delete from merge_request_diffs where merge_request_id = 5;
delete from notes where noteable_type = ''MergeRequest'' and noteable_id = 5;
Ahora puede salir del terminal de comandos PostgreSQL escribiendo:
/q
Tu solicitud de fusión ahora debería estar fuera de la interfaz web.
Vaya al repositorio de destino, busque la solicitud de combinación en ese repositorio y simplemente haga clic en "Cerrar solicitud de combinación". Dado que es su solicitud de fusión, tiene los derechos para hacerlo.