Скрипт QlikSense для загрузки данных с проблемами и рабочими журналами из JIRA через Rest API в формате JSON - PullRequest
0 голосов
/ 03 октября 2018

В QlikSense есть два API-интерфейса для подключения, которые называются URL1 (выдача данных) и URL2 (рабочие журналы).Существует ограничение на получение записей рабочих блогов с URL1, только 20 записей, нумерация страниц не распространяется, поэтому вам нужно загружать рабочие журналы с URL2.

Как сделать следующее:

При загрузке данныхиз URL1 скрипт будет анализировать значение поля «total» из раздела [worklog], если оно больше 20, то ключ из поля [__KEY_fields] будет принимать соответствующее значение поля [self_u4] израздел [worklogs] и передать его как URL2, загрузив данные.Затем элемент управления вернется к следующей записи с URL1 после «total»> 20, продолжит загрузку и анализ данных.

RestConnectorMasterTable:
SQL SELECT 
    "expand" AS "expand_u0",
    "startAt" AS "startAt_u0",
    "maxResults" AS "maxResults_u0",
    "total" AS "total_u0",
    "__KEY_root",
    (SELECT 
        "expand",
        "id" AS "id_u5",
        ………………….
            (SELECT 
                "startAt",
                "maxResults",
                "total",
                "__KEY_worklog",
                "__FK_worklog",
                (SELECT 
                    "self" AS "self_u4",
                    "comment",
                    ……………………

                FROM "worklogs" PK "__KEY_worklogs" FK "__FK_worklogs")
            FROM "worklog" PK "__KEY_worklog" FK "__FK_worklog"),
            ……………….

[issuetype]:
LOAD    [self] AS [self],
    [id] AS [id],
    [description] AS [description],
    [iconUrl] AS [iconUrl],
    ……………………………………

[worklogs]:
LOAD    [self_u4] AS [self_u4],
    [comment] AS [comment],
    …………………
    [issueId] AS [issueId],
    [__KEY_worklogs] AS [__KEY_worklogs],
    [__FK_worklogs] AS [__KEY_worklog]
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_worklogs]);

[worklog]:
LOAD    [startAt] AS [startAt],
    [maxResults] AS [maxResults],
    [total] AS [total],
    [__KEY_worklog] AS [__KEY_worklog],
    [__FK_worklog] AS [__KEY_fields]
RESIDENT RestConnectorMasterTable
WHERE NOT IsNull([__FK_worklog]);
...