A día de hoy, el conector de JIRA con Power BI, no permite hacer consultas en formato JQL para obtener datos. Sería genial poder consultar lo que quieras desde Power BI a JIRA, ¿verdad? Pues te cuento como hacerlo. Solo tienes que seguir este tutorial.
Pasos
Abre Power BI para escritorio y haz click en Obtener datos -> Consulta en blanco:
Añade dos parámetros con Administrar Parámetros -> Nuevo parámetro. El nombre de los parámetros debe ser:
- JIRA_URL: La URL de tu instancia de JIRA
- Por ejemplo: https://jira.atlassian.com
- QUERY: La consulta que quieras hacer en formato JQL
- Por ejemplo: project=CLOUD and fixVersion in (releasedVersions()) and type=Improvement and resolution=Fixed
Los parámetros serán de tipo «Texto«:
Haz click con el botón derecho sobre la consulta y ve a Editor Avanzado. Pega este código:
let Source = Json.Document(Web.Contents(JIRA_URL & "/rest/api/2/search?jql=" & QUERY)), #"Converted to Table" = Record.ToTable(Source), #"Transposed Table" = Table.Transpose(#"Converted to Table"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"expand", type text}, {"startAt", Int64.Type}, {"maxResults", Int64.Type}, {"total", Int64.Type}, {"issues", type any}}), #"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"total"}), #"total" = #"Removed Other Columns"{0}[total], #"startAt List" = List.Generate(()=>0, each _ < #"total", each _ +100), #"Converted to Table1" = Table.FromList(#"startAt List", Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Renamed Columns" = Table.RenameColumns(#"Converted to Table1",{{"Column1", "startAt"}}), #"Added Custom" = Table.AddColumn(#"Renamed Columns", "URL", each JIRA_URL & "/rest/api/2/search?maxResults=100&jql=" & QUERY & "&startAt=" & Text.From([startAt])), data = List.Transform(#"Added Custom"[URL], each Json.Document(Web.Contents(_))), #"Converted to TableQuery" = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Expanded ColumnIssues" = Table.ExpandRecordColumn(#"Converted to TableQuery", "Column1", {"issues"}, {"issues"}), #"Expanded issues" = Table.ExpandListColumn(#"Expanded ColumnIssues", "issues"), #"Expanded issues1" = Table.ExpandRecordColumn(#"Expanded issues", "issues", {"id", "fields"}, {"id", "fields"}) in #"Expanded issues1"
El crédito del script es para Tiago Machado, que lo compartió en el foro de Power BI. Yo solo le he añadido el uso de parámetros.
En este punto deberías ver algo como esto:
Haz click en el icono para expandir la columna «fields«. En este punto ya puedes seleccionar los valores que quieras importar de JIRA, en forma de columnas de datos.
Para este ejemplo yo he seleccionado «priority» y «resolutiondate«.
Al expandir, verás que el campo «priority» muestra Record en lugar de su valor.
La solución es volver a expandirlo y seleccionar «name» en la lista de columnas:
Pues ya casi está, sólo falta indicarle a Power BI que la columna resolutiondate es de tipo Fecha/Hora y la columna priority es de tipo texto.
Al hacer click en Cerrar y Aplicar, se ejecutará la consulta y se traerá los datos de JIRA.
Como ejemplo, puedes elegir un gráfico de Columnas Apiladas, y mostrar por años la prioridad de las mejoras desarrolladas:
Seguridad
Lo más probable es que tu instancia de JIRA pida nombre de usuario y contraseña para tener permisos para hacer consultas.
Para introducir tus credenciales debes ir a:
- Configuración de origen de datos -> Selecciona tu URL de JIRA y Editar Permisos
- En el apartado Credenciales, click en Editar
- En la pantalla siguiente lo más habitual es el tipo Básico. Escribe tu nombre de usuario y contraseña
- Personalmente utilizo el modo API Web con un token asociado a mi usuario, así no tengo que actualizar mi configuración cada vez que cambio la contraseña
Espero que esta guía te sea útil. ¡Hasta la próxima!
16/05/2019 at 19:40
Hi! I tried to put your lines and I coudnt, because the POWER BI says an error:
Expression.Error: A cyclic reference was encountered during evaluation.
Could you help me?
19/05/2019 at 07:31
Hi,
I’ve tested with the latest Power BI version (2.69.5467.1751 May 2019) and it works ok for me.
Have you created the JIRA_URL and QUERY parameters before pasting the code?
If it still doesn’t work, could you give me more details?
Regards!
19/07/2019 at 23:52
Hola, me pareció muy bueno tu post y lo mejor es que funciona. Sólo una consulta, encontré todos los campos menos el issue key, sabrás cómo puedo encontrarlo?
Gracias
25/01/2021 at 18:01
Hola, la autenticación no funciona, me puedes ayudar.