Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: vnl от 14 сентября 2018, 11:27:07

Название: Скрипт загрузки данных о задачах и трудозатратах из JIRA через Rest API.
Отправлено: vnl от 14 сентября 2018, 11:27:07
Есть два API подключения в QlikSense, назовем их URL1 (данные о задачах) и URL2 (данные о трудозатратах). Есть ограничение на количество выдачи записей о трудозатратах по URL1, не более 20, pagination не распространяется, поэтому придется грузить трудозатраты с 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]);
Название: Re: Скрипт загрузки данных о задачах и трудозатратах из JIRA через Rest API.
Отправлено: admin от 21 сентября 2018, 04:02:39
Привет.
Честно, задачу не совсем понял.
Вот эта часть возможна (в принципе, если нет другого варианта вытягивания данных):
ЦитироватьПри загрузке данных из URL1 скрипт анализировал бы значение поля "total" из раздел [worklog], если оно больше 20, то по ключу из поля [__KEY_fields] брал бы соответствующее ему значение поля [self_u4] из раздела [worklogs] и передавал его в качестве URL2, грузил данные. Далее управление переходило бы назад, на следующую запись из URL1 после "total">20, продолжило грузить и анализировать данные.
Но я бы посмотрел еще и в сторону альтернативных скриптовых инструментов.
Название: Re: Скрипт загрузки данных о задачах и трудозатратах из JIRA через Rest API.
Отправлено: vnl от 28 сентября 2018, 10:00:45
@admin Спасибо за ответ. Если вкратце: Jira имеет два api адреса (задачи и трудозатраты), из-за ограничения по выдаче данных о трудозатратах из URL1  придется брать данные из URL2.

Подскажите, пожалуйста, как мне просматривая поле 'total' из раздела [worklog] по ключу [__KEY_fields]
забрать значение поля [self_u4] из раздела [worklogs]?

Последнее на чем остановился:
FOR Each a in FieldValueList('total')
If $(a)>21 then
//FROM "worklog" PK "__KEY_worklog" FK "__FK_worklog";
Set key='[self_u4]';
end if ;


Как можно задействовать сторонний скрипт в QlikSense?