Análisis de tareas en Jira Cloud desde Power BI

JIRA se ha convertido en la herramienta de desarrollo software número uno utilizada por equipos ágiles. En este artículo vamos a contaros cómo conectar su plataforma JIRA Cloud con PowerBi para extraer toda la información sobre nuestros proyectos.

Durante 12 años consecutivos, PowerBi ha sido reconocido como líder en plataformas de análisis e inteligencia empresarial por Gartner. Pero… ¿Qué es Gartner? Se trata de una empresa de consultoría e investigación que incluye entre sus clientes a algunas de las más grandes empresas, agencias de gobierno y empresas tecnológicas. Si deseas más información sobre PowerBi, puedes consultar nuestras publicaciones anteriores ‘¿Qué es Power BI?‘ y ‘Power BI: Paneles e informes‘.

Dicho esto, y haciendo las introducciones necesarias, veremos ahora cómo PowerBi nos permite acceder directamente al API web de JIRA y así obtener nuestros datos de una forma rápida y sencilla.

Ventajas y desventajas

Utilizar este método nos proporciona una serie de ventajas e inconvenientes frente a otras opciones. Echemos un vistazo a las ventajas:

  • Los datos se obtienen directamente del origen, sin intermediarios: no necesitaremos más que nuestras credenciales de acceso a JIRA para obtener la información.
  • Nuestros datos estarán actualizados al instante: toda la información se obtiene directamente desde el API de JIRA, de modo que actualizando nuestros datos desde PowerBi obtendremos la última versión disponible al instante.
  • Poder conectar múltiples orígenes de datos: ¿tienes algún otro servicio conectado en su empresa? Desde PowerBi es posible conectar todos los orígenes, ya sean bases de datos, documentos en la nube, etc…, unificarlos y combinar toda la información en un único cuadro de mando.

Por otra parte, conectar el API de JIRA cloud con PowerBi tiene una pequeña desventaja. El método soporta mal los cambios. En el caso de que alguno de nuestros orígenes de datos falle o se modifique, todos nuestros datos quedarán desactualizados y muy probablemente no serán válidos. De todas formas, siempre podremos actualizar nuestro proyecto de PowerBi con una nueva estructura y resolver cualquier problema…

Además, hay que tener en cuenta, que conectarse a un API web tiene sus restricciones. La parametrización de las llamadas al API para obtener los datos al completo es una de ellas.

Veamos un ejemplo con tan sólo unos minutos, podrás visualizar los datos de JIRA desde PowerBi.

Ejemplo

 

1. Obtención de las peticiones de Jira en PowerBi

El primer paso consiste en obtener nuestra URL de conexión con el API de JIRA. Para ello, tenemos que sustituir en la URL siguiente, el campo <URL_JIRA> por el nombre d nuestro JIRA.

https://<URL_JIRA>.atlassian.net/rest/api/2/search?jql&maxResults=100

Una vez disponemos de nuestra propia URL, abrimos un nuevo proyecto de PowerBi y hacemos click en el desplegable ‘Obtener Datos -> Web’. Ahora introducimos la URL anterior y hacemos click en aceptar. A continuación, nos debemos autenticar usando uno de los métodos proporcionados. Puedes encontrar más información sobre la autenticación en el siguiente enlace.

Finalmente, ya tendríamos nuestros datos cargados en PowerBi listos para ser transformados.

2. Transformación de los datos

Para la transformación de datos, emplearemos la siguiente transformación a modo de ejemplo. Para que puedas usarla, tan sólo será necesario reemplazar la URL. Una vez modificada, accedemos al editor avanzado y pegamos el bloque de código.

Código de ejemplo
let
Origen = Json.Document(Web.Contents("<URL_JIRA>")),
issues = Origen[issues],
#"Convertida en tabla" = Table.FromList(issues, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Se expandió Column1" = Table.ExpandRecordColumn(#"Convertida en tabla", "Column1", {"expand", "id", "self", "key", "fields"}, {"Column1.expand", "Column1.id", "Column1.self", "Column1.key", "Column1.fields"}),
#"Se expandió Column1.fields" = Table.ExpandRecordColumn(#"Se expandió Column1", "Column1.fields", {"issuetype", "priority", "status", "progress"}, {"Column1.fields.issuetype", "Column1.fields.priority", "Column1.fields.status", "Column1.fields.progress"}),
#"Se expandió Column1.fields.issuetype" = Table.ExpandRecordColumn(#"Se expandió Column1.fields", "Column1.fields.issuetype", {"name"}, {"Column1.fields.issuetype.name"}),
#"Se expandió Column1.fields.priority" = Table.ExpandRecordColumn(#"Se expandió Column1.fields.issuetype", "Column1.fields.priority", {"name"}, {"Column1.fields.priority.name"}),
#"Se expandió Column1.fields.status" = Table.ExpandRecordColumn(#"Se expandió Column1.fields.priority", "Column1.fields.status", {"name"}, {"Column1.fields.status.name"}),
#"Se expandió Column1.fields.progress" = Table.ExpandRecordColumn(#"Se expandió Column1.fields.status", "Column1.fields.progress", {"progress", "total"}, {"Column1.fields.progress.progress", "Column1.fields.progress.total"}),
#"Columnas quitadas" = Table.RemoveColumns(#"Se expandió Column1.fields.progress",{"Column1.expand", "Column1.id", "Column1.self", "Column1.key"}),
#"Columnas con nombre cambiado" = Table.RenameColumns(#"Columnas quitadas",{{"Column1.fields.issuetype.name", "Tipo"}, {"Column1.fields.priority.name", "Prioridad"}, {"Column1.fields.status.name", "Estado"}, {"Column1.fields.progress.progress", "Progreso"}, {"Column1.fields.progress.total", "Total"}}),
#"Tipo cambiado" = Table.TransformColumnTypes(#"Columnas con nombre cambiado",{{"Tipo", type text}, {"Prioridad", type text}, {"Estado", type text}, {"Progreso", Int64.Type}, {"Total", Int64.Type}}),
#"Índice agregado" = Table.AddIndexColumn(#"Tipo cambiado", "Índice", 0, 1),
#"Columnas reordenadas" = Table.ReorderColumns(#"Índice agregado",{"Índice", "Tipo", "Prioridad", "Estado", "Progreso", "Total"})
in
#"Columnas reordenadas"
Con estas transformaciones, los datos de nuestro estarán cargados en PowerBI y ya podremos empezar a mostrar los resultados. ¡Pero esto no queda aquí! Ahora puedes seguir profundizando en el informe y adecuándolo según tus necesidades

3. Presentación de los datos

Éste es un simple ejemplo que hemos realizado con los datos que hemos extraído de nuestro JIRA en tan solo un par de minutos.

Dedicándole más tiempo y unificando varios orígenes de datos, se podrían conseguir cuadros de mando más complejos que muestren en profundidad la información contenida en JIRA. Estos cuadros de mando te permitirán conocer la situación actual de tu empresa en un click.
¡Ya has aprendido a cómo conectar JIRA con PowerBi y construir cuadros de mando! Ahora puedes contactar con nosotros si deseas más información o tienes alguna duda.

¿Te ha gustado este artículo?

Puedes compartirlo en tus redes sociales