Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Сентябрь 25, 2018, 03:57:11 am

Автор Тема: Скрипт загрузки данных о задачах и трудозатратах из JIRA через Rest API.  (Прочитано 146 раз)

Оффлайн vnl

  • Стажер
  • *
  • Сообщений: 1
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
Есть два 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]);

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1177
  • Страна: ru
  • Рейтинг: +127/-0
    • Просмотр профиля
Привет.
Честно, задачу не совсем понял.
Вот эта часть возможна (в принципе, если нет другого варианта вытягивания данных):
Цитировать
При загрузке данных из URL1 скрипт анализировал бы значение поля "total" из раздел [worklog], если оно больше 20, то по ключу из поля [__KEY_fields] брал бы соответствующее ему значение поля [self_u4] из раздела [worklogs] и передавал его в качестве URL2, грузил данные. Далее управление переходило бы назад, на следующую запись из URL1 после "total">20, продолжило грузить и анализировать данные.
Но я бы посмотрел еще и в сторону альтернативных скриптовых инструментов.

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