Ir al contenido

Cosas que he aprendido: a eliminar en masa incidentes GitLab con GLab

·2 mins

El sábado pasado vi un incidente creado por un usuario desconocido en uno de los repositorios de nuestra instancia de GitLab.

Hice una captura de pantalla, reporté al usuario y eliminé el incidente, usando la interfaz Web de GitLab. Y no pensé mucho en el asunto.

Después de todo, fue un incidente y cuatro clics después de hacer la captura de pantalla no fueron mucho trabajo.

El mensaje era bastante largo y se parecía mucho a ChatGPT escribiendo un publicidad para un curso de Python.

Antes de ayer me desperté y descubrí que se crearon más de 80 incidentes en cuatro minutos en otro repositorio por otro usuario desconocido.

Eran 100% spam, algo sobre vídeos filtrados.

Empecé a borrarlos a mano, pero después de un par me di cuenta de que se iba a poner tedioso muy rápido.

Busqué una opción para “eliminar en masa” los problemas, pero solo encontré la opción de “editar en masa”.

Afortunadamente GLab, la herramienta de línea de comandos de GitLab, también proporciona comandos para manejar y eliminar incidente, dentro de un repositorio, simplemente dando el id.

La he estado usando para observar el funcionamiento de las pipelines y detectar problemas antes recibir un correo electrónico que indica que una pipeline ha fallado, pero proporciona información de lo que falló.

La única instalación con soporte oficial es con Homebrew.

Después de eso tendrás que autenticar usando OAuth, o un token personal si estás usando GitLab.com o estás usando una instancia autoalojada.

Dado que los incidentes restantes en este repositorio eran spam y comenzaban con el id 3 y llegaban a 80, solo necesité un comando para eliminarlos a todos:

$ for id in `seq 3 80`; do glab issue delete $id; done