REST API JIRA: registro de trabajo

Un usuario Pregunto ✅

Florian89

Hola a todos,

Estoy trabajando por primera vez con la API de JIRA y PowerBI.

Mi objetivo: quiero extraer todos los registros de trabajo detallados de JIRA para crear un panel para el equipo.

Mi problema: la consulta que estoy usando actualmente solo extrae el tiempo consolidado en un ticket. Sin embargo, necesitaría el detalle por usuario.

La consulta que estoy usando actualmente:

Json.Document (Web.Contents («https://XXX.atlassian.net/rest/api/2/searchstartAt=0&maxResults=100&jql=project=» «YYYY» «& expand =, nam …»)),

¿Alguien sabe qué parámetros debo insertar para extraer la tabla de registro de trabajo completa?

Además, ¿sabe cómo extraer más de 100 filas al mismo tiempo? Por ahora, estoy usando una consulta principal que combinó una consulta sereal con cientos de filas de resultados.

Gracias

Hongjyan

Hola,

definir una función:

(_jql as text, _fields as text, _startAt as text) =>
let
    Source = Json.Document(
    Web.Contents(
        "you company jira url",
        [
            RelativePath="/rest/api/2/search",
            Query=[
                maxResults="1000", 
                jql=_jql,
                fields=_fields,
                startAt=_startAt
            ]
        ]
    )),
    issues = Source[issues],
    #"Converted to Table" = Table.FromList(issues, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"expand", "id", "self", "key", "fields"}, {"Column1.expand", "Column1.id", "Column1.self", "Column1.key", "Column1.fields"})
in
    #"Expanded Column1"

cuerpo de la consulta:

let
    Source = Json.Document(Web.Contents( "your company jira url",
    [
        RelativePath="/rest/api/2/search",
        Query=[
        maxResults="1000",
        jql="author=xxx",
        fields="key",
        startAt="0"
    ]
    ])),
    total1 = Number.Round(Source[total]/1000 + 0.5-1, 0, RoundingMode.Up),
    List = List.Transform({0..total1}, each _ * 1000),
    #"Converted to Table" = Table.FromList(List, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type text}}),
    #"Invoked Custom Function" = Table.AddColumn(#"Changed Type", "Data", each GetJIRADCPage("author=xxx", "field1, field2", [Column1])),  #till here, all issues belong to autor:xxx are gotten
    #"Expanded Data" = Table.ExpandTableColumn(#"Invoked Custom Function", "Data", {"Column1.key"}, {"Column1.key"}),
    #"Add worklog url" = Table.AddColumn(#"Expanded Data", "worklog url", each "https://your company jira url/rest/api/latest/issue/"&[Column1.key]&"/worklog"),
    #"Invoked Custom Function1" = Table.AddColumn(#"Add worklog url", "worklog", each Json.Document(Web.Contents([worklog url])))
in
    #"Invoked Custom Function1"

luego da forma a los datos como quieras 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *