Categoría: Integración de datos

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.
En anteriores entradas hemos hablado del uso del BI (Business Intelligence) para el tratamiento de los datos de una empresa con el fin de obtener información. Hoy hablaremos de un proceso para integrar datos con el fin de obtener esta información: ETL.

¿Qué significa ETL?

ETL son las siglas en inglés de los pasos que conforman el proceso: Extract, Transform, Load. (Extracción, Transformación, Carga).

  • Extracción: Consiste en obtener datos de una o varias fuentes. Estas pueden ser: Bases de datos, APIs, documentos CSV, ficheros Excel, etc.
  • Transformación: En este paso se realizan los cálculos, validaciones y limpieza de los datos obtenidos de la extracción, adecuándolos con el objetivo de obtener la información necesaria.
  • Carga: Los datos, una vez modificados para la obtención de información, se vuelcan en almacenes de datos, que al igual que en la extracción, puede ser de diferentes tipos: ficheros, bases de datos, Data Warehouse, etc.

En resumen, estos procesos nos permiten obtener una gran cantidad de información de diversos medios, transformarla, adaptarla a nuestras necesidades y almacenarla de forma que podamos hacer uso de esta información.

Si todavía no comprendes el objetivo de un ETL no te preocupes, lo verás más claro con el siguiente ejemplo:

Ejemplo: ThunderBolt Sunglasses

ThunderBolt Sunglasses es una compañía de venta de gafas de sol que está arrasando en la industria. Esta empresa desea conocer los índices de venta de sus productos en España. La información de estas ventas las tiene en una base de datos MySQL desde su tienda online, archivos CSV desde su ERP y en ficheros Excel desde sus franquicias y representantes.

Mediante el proceso de extracción, un ETL permite trabajar con orígenes de datos distintos, por lo que la diversidad de orígenes de datos no supone un impedimento.

Una vez realizada la extracción, se necesitan realizar los cálculos que permitan obtener los valores que se desean. Este paso lo realiza el proceso de transformación de datos, en el cual se realizan las transformaciones necesarias para convertir los datos en información.

Por último, realizando una carga de estos datos en un Data Warehouse permitirá acceder a la información de los índices de ventas.

Ejemplo de flujo ETL

Aplicaciones

Como habrás visto en el ejemplo, los procesos ETL resultan ser una herramienta bastante potente a la hora de importar y procesar datos, pero… ¿Es la única utilidad que tienen? Ya te adelanto que en sumamoOs empleamos herramientas ETL para muchas más áreas. Por nombrar algunas, vamos a ver una lista de funciones que se pueden realizar a partir de un proceso ETL:

 

  • Mover datos desde una o varias fuentes de datos.
  • Dar formato a los datos y limpiarlos para poder mostrarlos en informes, cuadros de mando e información unificada.
  • Migrar los datos de una fuente a otra, como una base de datos, un Data Mart o un Data Warehouse.
  • Tareas de base de datos, como consolidar, migrar y sincronizar bases de datos.
  • Migración de datos de aplicaciones entre versiones.
  • Sincronizar entre diferentes sistemas operacionales, como entre un entorno ERP y un entorno Web.
  • Interfaz con sistemas externos, ya sea para entrada como salida de datos, con APIs, ficheros…
  • Preparación de procesos masivos (Mailings, Newsletter, etc).

¿Quieres conocer más detalles?

En sumamoOs tenemos un gran conocimiento en el desarrollo de procesos ETL. De modo que, si quieres averiguar más detalles sobre el manejo de datos para la obtención de información, puedes consultar nuestra sección sobre el tratamiento de datoso  contactar con nosotros para conocer cómo transformar la operativa de tu empresa aprovechando estas herramientas.