使用RestAPI的Jasper报告

时间:2015-12-16 06:14:17

标签: rest jasper-reports jasperserver

我有一个关于JasperServer(5.6)的报告,它接受的参数很少。我在“输出选项”选项卡上编辑了一些设置,并在“通知”选项卡上输入要发送到的电子邮件。报告生成成功,完整发送电子邮件。

我希望使用JasperServer的Rest API来传递我的输入选项,并安排和通过电子邮件发送报告。我浏览了文档http://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v56/rest-v2-report-services,但无法理解如何使用其余的api。

以下是我在jasper服务器上的报告的属性

enter image description here

有人可以帮我解决如何安排报告的问题。

2 个答案:

答案 0 :(得分:0)

也许它可以帮到你:jasperserver rest java client。 这是Jasperserver的REST客户端。

答案 1 :(得分:0)

我想,我已经想出了在jasper服务器上安排工作的方法。细节可以在这里找到

http://community.jaspersoft.com/documentation/tibco-jasperreports-server-web-services-guide/v62/scheduling-report

但是作为一个例子,它是(用PUT方法调用它) http://localhost:8080/jasperserver/rest_v2/jobs 并在正文中定义作业结构


     {
        "id": 3819,
        "version": 2,
        "username": "jasperadmin",
        "label": "publisher_123_report",
        "description": "",
        "creationDate": "2015-12-30T02:02:40.382+03:00",
        "trigger": {
            "simpleTrigger": {
              "id": "1770",
              "misfireInstruction": "0",
              "startDate": "2015-12-20T00:00:00+11:00",
              "startType": "2",
              "timezone": "Australia/Victoria",
              "version": "0",
              "occurrenceCount": "1"
            }
        },
        "source": {
              "reportUnitURI": "/Reports/Prod/test_automated_report_v14",
              "parameters": {
                 "parameterValues": {
                        "PublisherId" : "20",
                       "MonthEnd" : "2015-02-01",
                       "MonthStart" : "2015-03-20",
                       "email" : "admin@admin.com",
                       "CountryCode" : "560"
                 }
              }
        },
        "baseOutputFilename": "publisher_124_automated_report",
        "outputLocale": "",
        "mailNotification": {
            "subject": "publisher monthly report" ,
            "toAddresses": {
                "address": ["address1To@add.com", "address2To@add.com"]
            },
            "ccAddresses": {
                "address": ["address1cc@add.com", "address2cc@add.com"]
            },
            "bccAddresses": {
                "address": ["address1bcc@add.com", "address2bcc@add.com"]
            }, 
            "includingStackTraceWhenJobFails" : false,
            "resultSendType" : "SEND_EMBED",
            "skipEmptyReports" : true,
            "skipNotificationWhenJobFails" : false   
        },
        "alert": {
            "id": 0,
            "version": -1,
            "recipient": "OWNER_AND_ADMIN",
            "toAddresses": {
                "address": ["address1@add.com", "address2@add.com"]
            },
            "jobState": "FAIL_ONLY",
            "messageText": "Success",
            "messageTextWhenJobFails": "Failure",
            "subject": "Notification Subject",
            "includingStackTrace": true,
            "includingReportJobInfo": true,
            "jobState" : "ALL"
        },
        "outputTimeZone": "Australia/Melbourne",
        "repositoryDestination": {
            "id": 3817,
            "version": 0,
            "folderURI": "/Reports/Prod",
            "sequentialFilenames": false,
            "overwriteFiles": false,
            "outputDescription": "",
            "timestampPattern": null,
            "saveToRepository": true,
            "defaultReportOutputFolderURI": null,
            "usingDefaultReportOutputFolderURI": false,
            "outputLocalFolder": null,
            "outputFTPInfo": {
                "userName": null,
                "password": null,
                "folderPath": null,
                "serverName": null
            }
        },
        "outputFormats": {
            "outputFormat": ["HTML"]
        }
    }

创建作业时可以提供更多选项。