API Reportes prpt Pentaho

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