TL;DR: Una forma rápida de convertir la información principal de un fichero de issues exportado de Bitbucket a una tabla es usando el siguiente comando:
in2csv -f json -k issues archivo_exportado.json > tabla_salida.csv
Desde Bitbucket se pueden exportar los “issues” a un archivo json que guarda todos los datos relacionados con los mismos: contenido, comentarios, adjuntos, versiones, logs, etc. Aunque es un formato 1 muy completo, que permite exportar e importar cómodamente entre repositorios git, no es lo más cómodo para ser leido por personas (es lo que tiene el json, muy fácilmente procesable por máquinas, pero aunque legible por humanos, no es especialmente amigable).
A veces es útil poder visualizarlos en un formato más cómodo, para, por ejemplo, poder trabajarlos en el marco de la gestión de proyectos con personas que no trabajen habitualmente con código.
Una forma rápida de extraer parte de la información es a través del comando in2csv del paquete 2 csvkit. En este caso, nos quedaríamos con las características principales (estatus, prioridad, tipo, titulo y contenido, usuario que reporta, etc) y se quedarían fuera comentarios, adjuntos y otras informaciones.
En primer lugar hay que descomprimir el archivo que se genera al exportar desde Bitbucket y quedarse con el fichero llamado db-1.0.json
o similar.
in2csv -k issues archivo_exportado.json > tabla_salida.csv
Tras el parámetro -k
hay que indicar la clave “top-level” que se quiere extraer y es obligatorio si el JSON contiene más de una de estas claves. En nuestro caso, las claves son:
- issues,
- comments,
- attachments,
- logs,
- meta,
- components,
- milestones
- versions
-
En esta página se puede encontrar una descripción del formato. ↩
-
csvkit es un conjunto de herramientas de línea de comandos, escritas en Python, para trabajar con ficheros CSV. ↩