Можно ли получить данные из REST API в SpagoBI?

Я пытаюсь использовать Tuleap REST API со SpagoBI, и он не может найти никакой информации.

Итак, можно ли получить данные из REST API в SpagoBI?

Спасибо за Ваш ответ,

Сандра


person Sandrae    schedule 06.05.2015    source источник
comment
Меня тоже интересует эта возможность. Я подозреваю, что проще всего это сделать с набором данных soagobi на основе сценариев в groovy. Я пробую тот же подход с использованием веб-службы на основе мыла в качестве набора данных, поскольку функция набора данных веб-службы недостаточно документирована.   -  person dbh    schedule 12.05.2015


Ответы (2)


Да, это возможно. Я потратил некоторое время, пытаясь заставить это работать. Ниже приведена ссылка с техникой, которая сработала для меня.

Вкратце: я использую набор данных сценариев, язык Groovy и библиотеку веб-сервисов Groovy WSLite. Это потребовало обновления версии Groovy, поставляемой со SpagoBI, и добавления библиотеки Groovy WSLite.

  1. Сценарий Groovy извлекает любые переданные параметры.
  2. Выполняет вызовы веб-службы с параметрами
  3. Разбирает результаты
  4. Создает выходные данные в формате SpagoBI DataSet XML.

Веб-сервис SpagoBI DataSet REST через Groovy

//Sample code: Using Groovy and Groovy WSLite to call a RESTful web service
//Then, the response is parsed and returned in SpagoBI DataSet's XML format
import wslite.rest.*

def param_ip  = parameters['param_ip'] ?: ''

def client = new RESTClient("http://ip-api.com/json/${param_ip.toString()}")
def response = client.get()    
assert response.statusCode == 200    
def str = response.json

"""
<ROWS>
    <ROW
        params="${parameters['param_ip'].toString()}" 
        status="${str.status.toString()}"
        country="${str.country.toString()}"
        countryCode="${str.countryCode.toString()}"
        region="${str.region.toString()}"
        regionName="${str.regionName.toString()}"
        city="${str.city.toString()}"
        zip="${str.zip.toString()}"
        lat="${str.lat.toString()}"
        lon="${str.lon.toString()}"
        timezone="${str.timezone.toString()}"
        isp="${str.isp.toString()}"
        org="${str.org.toString()}"
        as="${str.as.toString()}"
    />
</ROWS>
""".toString()
person dbh    schedule 14.07.2015

Можно использовать REST 2.0 API, но у вас должна быть версия FIWARE SpagoBI. Версии одинаковы, за исключением того, что FIWARE имеет службы REST API.

Проверьте эти ссылки:

http://catalogue.fiware.org/enablers/data-visualization-spagobi/documentation

и Пасека: http://docs.spagobi.apiary.io/#reference/0/the-content-subresource/return-the-document-content

person burlicconi    schedule 13.01.2016