Опитвам се да използвам Tuleap REST API със SpagoBI и той не може да намери никаква информация.
И така, възможно ли е да получите данни от REST API в SpagoBI?
Благодаря за вашият отговор,
Сандра
Опитвам се да използвам Tuleap REST API със SpagoBI и той не може да намери никаква информация.
И така, възможно ли е да получите данни от REST API в SpagoBI?
Благодаря за вашият отговор,
Сандра
Да, възможно е. Прекарах известно време в опити да накарам това да работи. По-долу има връзка с техниката, която работи при мен.
Накратко: използвам Script Data-Set, езика Groovy и библиотеката на уеб услугата Groovy WSLite. Това изисква актуализиране на версията на Groovy, доставена със SpagoBI, и поставяне на библиотеката Groovy WSLite.
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()
Възможно е да използвате 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