Estimados, hay alguna forma o api para poder ejecutar reportes de Pentaho pasando parámetros
Muchas Gracias
Saludos
Siu-Toba 3.0.26
Estimados, hay alguna forma o api para poder ejecutar reportes de Pentaho pasando parámetros
Muchas Gracias
Saludos
Siu-Toba 3.0.26
Hola Mauro,
puntualmente en Toba no existe nada para ejecutar reportes de Pentaho. Aunque si la plataforma tiene una API REST podes crear los ws correspondientes para ello.
Estuve buscando y no encontre una API puntual para la ejecucion de reportes, si vi que tiene su propio cliente REST y que se puede operar desde alli, supongo que en algun lado debe estar, si tenes mas info al respecto te lo agradeceria.
Saludos
Buenos dias, navegando me encontre esta pagina de la UNLP, que me parece que hace lo que necesitan.
https://reportes.cespi.unlp.edu.ar/
Saludos
Estimados, muchas gracias por las respuestas. Si doy con la solución la publicaré en éste foro
Muchas Gracias
Hola Leo,
esa pagina incluye justamente el cliente web que impacta contra pentaho, yo le habia entendido que queria algo para ejecutar reportes Pentaho desde PHP… quizas mas parecido a Jasper. Igual por ahi entendi todo para el demonio :D.
Saludos
Richard, es tal cual vos pensaste… Estuve buscando y pude encontrar una forma de hacerlo. Tengo algunos problemas todavía con los Headers.
En siu-toba (docker-compose) vi que está ésta librería por defecto ( “guzzlehttp/guzzle”: “~6.3”,) - entonces la utilice .
Por un tema de Headers se complica un poco la cosa
Paso el código.
public function actionReportesPentaho(){
$cliente = new \GuzzleHttp\Client();
$cookieJar = new \GuzzleHttp\Cookie\CookieJar();
$username = "usuariopentaho";
$password = "passwordpentaho";
$urlLogin='http://ippentaho:8080/pentaho/j_spring_security_check';
$cliente->request('POST',$urlLogin , array('form_params'=>array
('j_username'=>$username,'j_password'=>$password), 'cookies'=>$cookieJar));
$ruta = '%3Apublic%3Alistado.prpt/report/'; -> ver que / = %3A
$urlWS ="http://ippentaho:8080/pentaho/api/repos/" . $ruta;
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . 'archivo.pdf' . '"');
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Authorization, X-USERNAME, Origin, X-Requested-With, Content-Type, Accept");
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$response = $cliente->request('POST', $urlWS,
array(
'cookies' => $cookieJar,
'form_params' => array(
'output-target' => 'pageable/pdf',
'ALGUNAVARIABLEPARAMETRO' => VALORVARIABLEPARAMETRO
)
)
);
echo $response->getBody();
}
Hola Mauro,
que bueno que no le pifie entonces :D.
Bien eso seria para visualizar un reporte, tenes idea si se pueden agregar o eliminar reportes via REST?.. digamos si la api es un poco mas compleja o si es simplemente la visualizacion?.
Tenes alguna dir de donde pueda leer el formato especifico que espera el WS para devolver el reporte? URLs, JSON, etc
Saludos
Richard, te paso la doc oficial
http://docs.guzzlephp.org/en/stable/quickstart.html
Todavía estoy tratando de hacer download del reporte, es decir me trae toda la información pero sigo teniendo problema con los headers
Saludos
Hola Mauro,
esta bien, eso es la doc de Guzzle… es el cliente que venimos usando internamente en Toba para trabajar con WS REST.
Yo me referia a alguna referencia sobre la API Rest de Pentaho, ya sea para crear, modificar o ejecutar reportes, de forma de ver como se arma la SQL del pedido y la estructura que recibe para los parametros etc.
Saludos