如何通过Jasper PHP/REST API部署报告(jrxml文件)?

Dan*_* W. 1 jasper-reports jasperserver

如何jrxml通过Jasper PHP/REST API将报告(文件)部署到Jasper Reports Server?

小智 6

要使用Rest-API在Jasper Server上部署Jasper报告,您可以使用以下方法:

正在上传JRXML文件

JRXML_DATA=$(cat $PATHTOJRXMLFILE/$JRXML_FILE)

curl  -X POST $JASPER_REST_HOST/jasperserver/rest_v2/resources/reports \
-H "Content-Type:application/jrxml" \
-H "Content-Disposition:attachment; filename=test" \
-H "Content-Description:test file" \
-d "$JRXML_DATA" \
--user $JASPER_USERNAME:$JASPER_USERNAME
Run Code Online (Sandbox Code Playgroud)

创建ReportUnit

RESOURCEDESCRIPTOR_JSON=$(cat $REPORT/deployable/reportunit.json)

curl  -X POST $JASPER_REST_HOST/jasperserver/rest_v2/resources/reports \
-H "Content-Type:application/repository.reportUnit+json" \
-d "$RESOURCEDESCRIPTOR_JSON" \
--user $JASPER_USERNAME:$JASPER_PASSWORD
Run Code Online (Sandbox Code Playgroud)

reportUnit示例的ResourceDescriptor

{
    "uri": "/reports/test_report", 
    "label": "test_report", 
    "description": "description", 
    "permissionMask": "0",
    "version": "0" ,
    "alwaysPromptControls": "true",
    "controlsLayout": "popupScreen",
    "jrxml": {
        "jrxmlFileReference": {
            "uri": "/reports/test"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

资源描述符引用

http://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v56/v2-resource-descriptor-types