Възможно ли е да се получат данни от 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)


Да, възможно е. Прекарах известно време в опити да накарам това да работи. По-долу има връзка с техниката, която работи при мен.

Накратко: използвам Script Data-Set, езика Groovy и библиотеката на уеб услугата Groovy WSLite. Това изисква актуализиране на версията на Groovy, доставена със SpagoBI, и поставяне на библиотеката Groovy WSLite.

  1. Скриптът Groovy извлича всички предадени параметри
  2. Прави извиквания на уеб услугата с параметрите
  3. Анализира резултатите
  4. Създава изхода в DataSet XML формат на SpagoBI

SpagoBI DataSet REST Webservice чрез 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

и Apiary: http://docs.spagobi.apiary.io/#reference/0/the-content-subresource/return-the-document-content

person burlicconi    schedule 13.01.2016