Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 17, 2018, 05:00:20 pm

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

Оффлайн vnl

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

Оффлайн vnl

  • Новичок
  • *
  • Сообщений: 2
  • Страна: by
  • Рейтинг: +0/-0
    • Просмотр профиля
@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?

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