Scheduling APIs Scheduler Resource
The SchedulerResource service provides the means to create, read, update, delete and list schedules and blockout periods. Also provides the ability to control the status of schedules and scheduler.
Creates a new blockout for scheduled jobs.
Example Request:
POST pentaho/api/scheduler/blockout/addcURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/blockout/add" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobScheduleRequest>
<jobName>DAILY-1820438815:admin:7740000</jobName>
<complexJobTrigger>
<uiPassParam>DAILY</uiPassParam>
<daysOfWeek>1</daysOfWeek>
<daysOfWeek>2</daysOfWeek>
<daysOfWeek>3</daysOfWeek>
<daysOfWeek>4</daysOfWeek>
<daysOfWeek>5</daysOfWeek>
<startTime>2014-08-19T10:51:00.000-04:00</startTime>
<endTime />
</complexJobTrigger>
<inputFile></inputFile>
<outputFile></outputFile>
<duration>7740000</duration>
<timeZone>America/New_York</timeZone>
</jobScheduleRequest>'Request object for scheduling jobs and blockouts
Name of the job
JobNameID of the job (for updates)
admin JobName 1410786491777Input file path
/public/Steel Wheels/Top Customers (report).prptOutput file path
/public/outputDuration in milliseconds for blockouts
7740000Time zone for the schedule
America/New_YorkSuccessfully created blockout schedule
ID of the blockout which was created
User is not authorized to create blockout
POST /plugin/scheduler-plugin/api/scheduler/blockout/add HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"jobName": "JobName",
"jobId": "admin JobName 1410786491777",
"simpleJobTrigger": {
"uiPassParam": "MINUTES",
"repeatInterval": 1800,
"repeatCount": -1,
"startTime": "2014-08-14T11:46:00.000-04:00",
"endTime": ""
},
"complexJobTrigger": {
"uiPassParam": "DAILY",
"daysOfWeek": [
1,
2,
3,
4,
5
],
"startTime": "2014-08-19T10:51:00.000-04:00",
"endTime": ""
},
"inputFile": "/public/Steel Wheels/Top Customers (report).prpt",
"outputFile": "/public/output",
"duration": 7740000,
"timeZone": "America/New_York",
"jobParameters": {
"name": "ParameterName",
"type": "string",
"stringValue": "false"
}
}admin BlockoutAction 1410786491209Get all the blockout jobs in the system.
Example Request:
GET pentaho/api/scheduler/blockout/blockoutjobscURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/blockout/blockoutjobs" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
<jobs>
<job>
<groupName>admin</groupName>
<jobId>admin BlockoutAction 1408457558636</jobId>
<jobName>BlockoutAction</jobName>
<jobParams>
<jobParams>
<name>TIME_ZONE_PARAM</name>
<value>America/New_York</value>
</jobParams>
<jobParams>
<name>DURATION_PARAM</name>
<value>10080000</value>
</jobParams>
<jobParams>
<name>uiPassParam</name>
<value>DAILY</value>
</jobParams>
<jobParams>
<name>user_locale</name>
<value>en_US</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionUser</name>
<value>admin</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionClass</name>
<value>org.pentaho.platform.scheduler2.blockout.BlockoutAction</value>
</jobParams>
<jobParams>
<name>lineage-id</name>
<value>0989726c-3247-4864-bc79-8e2a1dc60c58</value>
</jobParams>
</jobParams>
<jobTrigger xsi:type="complexJobTrigger">
<cronString>0 12 10 ? * 2,3,4,5,6 *</cronString>
<duration>10080000</duration>
<startTime>2014-08-19T10:12:00-04:00</startTime>
<uiPassParam>DAILY</uiPassParam>
<dayOfMonthRecurrences />
<dayOfWeekRecurrences>
<recurrenceList>
<values>2</values>
<values>3</values>
<values>4</values>
<values>5</values>
<values>6</values>
</recurrenceList>
</dayOfWeekRecurrences>
<hourlyRecurrences>
<recurrenceList>
<values>10</values>
</recurrenceList>
</hourlyRecurrences>
<minuteRecurrences>
<recurrenceList>
<values>12</values>
</recurrenceList>
</minuteRecurrences>
<monthlyRecurrences />
<secondRecurrences>
<recurrenceList>
<values>0</values>
</recurrenceList>
</secondRecurrences>
<yearlyRecurrences />
</jobTrigger>
<nextRun>2014-08-20T10:12:00-04:00</nextRun>
<state>NORMAL</state>
<userName>admin</userName>
</job>
</jobs>Returns: A Response object that contains a list of blockout jobs.
Successfully retrieved blockout jobs
Error while retrieving blockout jobs
GET /plugin/scheduler-plugin/api/scheduler/blockout/blockoutjobs HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
{
"job": [
{
"groupName": "admin",
"jobId": "admin JobName 1410786491777",
"jobName": "JobName",
"jobParams": [
{
"name": "user_locale",
"value": "en_US"
}
],
"jobTrigger": {
"duration": -1,
"startTime": "2014-08-14T11:46:00-04:00",
"uiPassParam": "MINUTES",
"repeatCount": -1,
"repeatInterval": 1800
},
"lastRun": "2014-08-14T11:46:00-04:00",
"nextRun": "2014-08-14T11:46:00-04:00",
"state": "NORMAL",
"userName": "admin"
}
]
}Check the status of the selected blockout schedule.
Example Request:
POST pentaho/api/scheduler/blockout/blockstatuscURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/blockout/blockstatus" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobScheduleRequest>
<jobName>DAILY-1820438815:admin:7740000</jobName>
<complexJobTrigger>
<uiPassParam>DAILY</uiPassParam>
<daysOfWeek>1</daysOfWeek>
<daysOfWeek>2</daysOfWeek>
<daysOfWeek>3</daysOfWeek>
<daysOfWeek>4</daysOfWeek>
<daysOfWeek>5</daysOfWeek>
<startTime>2014-08-19T10:51:00.000-04:00</startTime>
<endTime />
</complexJobTrigger>
<inputFile></inputFile>
<outputFile></outputFile>
<duration>7740000</duration>
<timeZone>America/New_York</timeZone>
</jobScheduleRequest>'Example Response:
<blockStatusProxy>
<partiallyBlocked>false</partiallyBlocked>
<totallyBlocked>true</totallyBlocked>
</blockStatusProxy>Returns: A Response object which contains a BlockStatusProxy which contains totallyBlocked and partiallyBlocked flags
Request object for scheduling jobs and blockouts
Name of the job
JobNameID of the job (for updates)
admin JobName 1410786491777Input file path
/public/Steel Wheels/Top Customers (report).prptOutput file path
/public/outputDuration in milliseconds for blockouts
7740000Time zone for the schedule
America/New_YorkSuccessfully got the blockout status
User is not authorized to get the blockout status
POST /plugin/scheduler-plugin/api/scheduler/blockout/blockstatus HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"jobName": "JobName",
"jobId": "admin JobName 1410786491777",
"simpleJobTrigger": {
"uiPassParam": "MINUTES",
"repeatInterval": 1800,
"repeatCount": -1,
"startTime": "2014-08-14T11:46:00.000-04:00",
"endTime": ""
},
"complexJobTrigger": {
"uiPassParam": "DAILY",
"daysOfWeek": [
1,
2,
3,
4,
5
],
"startTime": "2014-08-19T10:51:00.000-04:00",
"endTime": ""
},
"inputFile": "/public/Steel Wheels/Top Customers (report).prpt",
"outputFile": "/public/output",
"duration": 7740000,
"timeZone": "America/New_York",
"jobParameters": {
"name": "ParameterName",
"type": "string",
"stringValue": "false"
}
}{
"partiallyBlocked": true,
"totallyBlocked": true
}Checks if there are blockouts in the system.
Example Request:
GET pentaho/api/scheduler/blockout/hasblockoutscURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/blockout/hasblockouts" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
trueReturns: true or false whether there are blackouts or not.
Successfully determined whether or not the system contains blockouts
true or false whether there are blackouts or not
GET /plugin/scheduler-plugin/api/scheduler/blockout/hasblockouts HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
Successfully determined whether or not the system contains blockouts
trueChecks if the selected blockout schedule should be fired now.
Example Request:
GET pentaho/api/scheduler/blockout/shouldFireNowcURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/blockout/shouldFireNow" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
trueReturns: true or false whether the blockout should fire now.
Successful operation
true or false whether the blockout should fire now
GET /plugin/scheduler-plugin/api/scheduler/blockout/shouldFireNow HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
Successful operation
trueUpdate an existing blockout.
Example Request:
POST pentaho/api/scheduler/blockout/update?jobid=admin%09BlockoutAction%091410786491209cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/blockout/update?jobid=admin%09BlockoutAction%091410786491209" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobScheduleRequest>
<jobName>DAILY-1820438815:admin:7740000</jobName>
<complexJobTrigger>
<uiPassParam>DAILY</uiPassParam>
<daysOfWeek>1</daysOfWeek>
<daysOfWeek>2</daysOfWeek>
<daysOfWeek>3</daysOfWeek>
<daysOfWeek>4</daysOfWeek>
<daysOfWeek>5</daysOfWeek>
<startTime>2012-01-12T10:51:00.000-04:00</startTime>
<endTime />
</complexJobTrigger>
<inputFile></inputFile>
<outputFile></outputFile>
<duration>7740000</duration>
<timeZone>America/New_York</timeZone>
</jobScheduleRequest>'Returns: A Response object which contains the ID of the blockout which was created.
The jobId of the blockout we are editing
admin%09BlockoutAction%091410786491209Request object for scheduling jobs and blockouts
Name of the job
JobNameID of the job (for updates)
admin JobName 1410786491777Input file path
/public/Steel Wheels/Top Customers (report).prptOutput file path
/public/outputDuration in milliseconds for blockouts
7740000Time zone for the schedule
America/New_YorkSuccessful operation
ID of the blockout which was updated
User is not authorized to update blockout
POST /plugin/scheduler-plugin/api/scheduler/blockout/update?jobid=admin%09BlockoutAction%091410786491209 HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"jobName": "JobName",
"jobId": "admin JobName 1410786491777",
"simpleJobTrigger": {
"uiPassParam": "MINUTES",
"repeatInterval": 1800,
"repeatCount": -1,
"startTime": "2014-08-14T11:46:00.000-04:00",
"endTime": ""
},
"complexJobTrigger": {
"uiPassParam": "DAILY",
"daysOfWeek": [
1,
2,
3,
4,
5
],
"startTime": "2014-08-19T10:51:00.000-04:00",
"endTime": ""
},
"inputFile": "/public/Steel Wheels/Top Customers (report).prpt",
"outputFile": "/public/output",
"duration": 7740000,
"timeZone": "America/New_York",
"jobParameters": {
"name": "ParameterName",
"type": "string",
"stringValue": "false"
}
}admin BlockoutAction 1410786491503Checks if the selected blockout schedule will be fired.
Example Request:
POST pentaho/api/scheduler/blockout/willFirecURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/blockout/willFire" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobScheduleRequest>
<jobName>DAILY-1820438815:admin:7740000</jobName>
<complexJobTrigger>
<uiPassParam>DAILY</uiPassParam>
<daysOfWeek>1</daysOfWeek>
<daysOfWeek>2</daysOfWeek>
<daysOfWeek>3</daysOfWeek>
<daysOfWeek>4</daysOfWeek>
<daysOfWeek>5</daysOfWeek>
<startTime>2014-08-19T10:51:00.000-04:00</startTime>
<endTime />
</complexJobTrigger>
<inputFile></inputFile>
<outputFile></outputFile>
<duration>7740000</duration>
<timeZone>America/New_York</timeZone>
</jobScheduleRequest>'Example Response:
falseReturns: true or false indicating whether the blockout will fire.
Request object for scheduling jobs and blockouts
Name of the job
JobNameID of the job (for updates)
admin JobName 1410786491777Input file path
/public/Steel Wheels/Top Customers (report).prptOutput file path
/public/outputDuration in milliseconds for blockouts
7740000Time zone for the schedule
America/New_YorkSuccessful operation
true or false indicating whether the blockout will fire
An error occurred while determining blockouts being fired
POST /plugin/scheduler-plugin/api/scheduler/blockout/willFire HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"jobName": "JobName",
"jobId": "admin JobName 1410786491777",
"simpleJobTrigger": {
"uiPassParam": "MINUTES",
"repeatInterval": 1800,
"repeatCount": -1,
"startTime": "2014-08-14T11:46:00.000-04:00",
"endTime": ""
},
"complexJobTrigger": {
"uiPassParam": "DAILY",
"daysOfWeek": [
1,
2,
3,
4,
5
],
"startTime": "2014-08-19T10:51:00.000-04:00",
"endTime": ""
},
"inputFile": "/public/Steel Wheels/Top Customers (report).prpt",
"outputFile": "/public/output",
"duration": 7740000,
"timeZone": "America/New_York",
"jobParameters": {
"name": "ParameterName",
"type": "string",
"stringValue": "false"
}
}falseChecks whether the current user has authority to schedule any content in the platform.
Example Request:
GET pentaho/api/scheduler/canSchedulecURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/canSchedule" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
trueReturns: true or false. true indicates scheduling is allowed and false indicates scheduling is not allowed for the user.
Successfully retrieved the scheduling permission
true or false indicating scheduling is allowed for the user
Unable to retrieve the scheduling permission
GET /plugin/scheduler-plugin/api/scheduler/canSchedule HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
trueRetrieve the list of execute content by lineage id.
Example Request:
GET pentaho/api/scheduler/generatedContentForSchedule?lineageId=:public:Steel%20Wheels:Inventory%20List%20(report).prptcURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/generatedContentForSchedule?lineageId=:public:Steel%20Wheels:Inventory%20List%20(report).prpt" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Returns: A list of RepositoryFileDto objects.
Example Response:
<List>
<repositoryFileDto>
<createdDate>1402911997019</createdDate>
<fileSize>3461</fileSize>
<folder>false</folder>
<hidden>false</hidden>
<id>ff11ac89-7eda-4c03-aab1-e27f9048fd38</id>
<lastModifiedDate>1406647160536</lastModifiedDate>
<locale>en</locale>
<localePropertiesMapEntries>
<localeMapDto>
<locale>default</locale>
<properties>
<stringKeyStringValueDto>
<key>file.title</key>
<value>myFile</value>
</stringKeyStringValueDto>
<stringKeyStringValueDto>
<key>jcr:primaryType</key>
<value>nt:unstructured</value>
</stringKeyStringValueDto>
<stringKeyStringValueDto>
<key>title</key>
<value>myFile</value>
</stringKeyStringValueDto>
<stringKeyStringValueDto>
<key>file.description</key>
<value>myFile Description</value>
</stringKeyStringValueDto>
</properties>
</localeMapDto>
</localePropertiesMapEntries>
<locked>false</locked>
<name>myFile.prpt</name>
<originalParentFolderPath>/public/admin</originalParentFolderPath>
<ownerType>-1</ownerType>
<path>/public/admin/ff11ac89-7eda-4c03-aab1-e27f9048fd38</path>
<title>myFile</title>
<versionId>1.9</versionId>
<versioned>true</versioned>
</repositoryFileDto>
</List>The path for the file
:public:Steel%20Wheels:Inventory%20List%20(report).prptSuccessfully got the generated content for schedule
GET /plugin/scheduler-plugin/api/scheduler/generatedContentForSchedule?lineageId=%3Apublic%3ASteel%20Wheels%3AInventory%20List%20(report).prpt HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
Successfully got the generated content for schedule
[
{
"id": "12345-abcde",
"name": "report.prpt",
"path": "/home/admin/report.prpt",
"folder": false,
"hidden": false,
"versioned": true,
"locked": false,
"fileSize": 1024,
"createdDate": "2023-01-01T12:00:00Z",
"lastModifiedDate": "2023-01-02T12:00:00Z",
"ownerType": 0,
"title": "Sales Report",
"description": "Monthly sales report",
"deletedDate": "2023-01-03T12:00:00Z",
"locale": "en",
"originalParentFolderPath": "/original/path/to/file",
"versionId": "1.3",
"localePropertiesMapEntries": [
{
"locale": "default",
"properties": [
{
"key": "file.title",
"value": "File Title"
}
]
}
]
}
]Get the scheduled job created by the system for deleting generated files.
Example Request:
GET pentaho/api/scheduler/getContentCleanerJobcURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/getContentCleanerJob" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Returns: A Job object containing the definition of the content cleaner job.
Example Response:
<job>
<groupName>admin</groupName>
<jobId>admin GeneratedContentCleaner 1408377444383</jobId>
<jobName>GeneratedContentCleaner</jobName>
<jobParams>
<jobParams>
<name>uiPassParam</name>
<value>DAILY</value>
</jobParams>
<jobParams>
<name>age</name>
<value>15552000</value>
</jobParams>
<jobParams>
<name>user_locale</name>
<value>en_US</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionUser</name>
<value>admin</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionClass</name>
<value>org.pentaho.platform.admin.GeneratedContentCleaner</value>
</jobParams>
<jobParams>
<name>lineage-id</name>
<value>c3cfbad4-2e34-4dbd-8071-a2f3c7e8fab9</value>
</jobParams>
</jobParams>
<jobTrigger xsi:type="simpleJobTrigger">
<duration>-1</duration>
<startTime>2014-08-18T11:57:00-04:00</startTime>
<uiPassParam>DAILY</uiPassParam>
<repeatCount>-1</repeatCount>
<repeatInterval>86400</repeatInterval>
</jobTrigger>
<lastRun>2014-08-18T11:57:00-04:00</lastRun>
<nextRun>2014-08-19T11:57:00-04:00</nextRun>
<state>NORMAL</state>
<userName>admin</userName>
</job>Content cleaner job successfully retrieved
No content cleaner job exists
GET /plugin/scheduler-plugin/api/scheduler/getContentCleanerJob HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
{
"groupName": "admin",
"jobId": "admin JobName 1410786491777",
"jobName": "JobName",
"jobParams": [
{
"name": "user_locale",
"value": "en_US"
}
],
"jobTrigger": {
"duration": -1,
"startTime": "2014-08-14T11:46:00-04:00",
"uiPassParam": "MINUTES",
"repeatCount": -1,
"repeatInterval": 1800
},
"lastRun": "2014-08-14T11:46:00-04:00",
"nextRun": "2014-08-14T11:46:00-04:00",
"state": "NORMAL",
"userName": "admin"
}Retrieve the all the job(s) visible to the current users.
Example Request:
GET pentaho/api/scheduler/getJobscURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/getJobs" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Returns: A list of jobs that are visible to the current users.
Example Response:
<jobs>
<job>
<groupName>admin</groupName>
<jobId>admin PentahoSystemVersionCheck 1408369303507</jobId>
<jobName>PentahoSystemVersionCheck</jobName>
<jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionUser</name>
<value>admin</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionClass</name>
<value>org.pentaho.platform.scheduler2.versionchecker.VersionCheckerAction</value>
</jobParams>
<jobParams>
<name>lineage-id</name>
<value>1986cc90-cf87-43f6-8924-9d6e443e7d5d</value>
</jobParams>
<jobParams>
<name>versionRequestFlags</name>
<value>0</value>
</jobParams>
</jobParams>
<jobTrigger xsi:type="simpleJobTrigger">
<duration>-1</duration>
<startTime>2014-08-18T09:41:43.506-04:00</startTime>
<repeatCount>-1</repeatCount>
<repeatInterval>86400</repeatInterval>
</jobTrigger>
<lastRun>2014-08-18T11:37:31.412-04:00</lastRun>
<nextRun>2014-08-19T09:41:43.506-04:00</nextRun>
<state>NORMAL</state>
<userName>admin</userName>
</job>
<job>
<groupName>admin</groupName>
<jobId>admin UpdateAuditData 1408373019115</jobId>
<jobName>UpdateAuditData</jobName>
<jobParams>
<jobParams>
<name>autoCreateUniqueFilename</name>
<value>false</value>
</jobParams>
<jobParams>
<name>uiPassParam</name>
<value>MINUTES</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-StreamProvider</name>
<value>input file = /public/pentaho-operations-mart/update_audit_mart_data/UpdateAuditData.xaction:outputFile = /public/pentaho-operations-mart/generated_logs/UpdateAuditData.*</value>
</jobParams>
<jobParams>
<name>user_locale</name>
<value>en_US</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionUser</name>
<value>admin</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionId</name>
<value>xaction.backgroundExecution</value>
</jobParams>
<jobParams>
<name>lineage-id</name>
<value>1f2402c4-0a70-40e4-b428-0d328f504cb3</value>
</jobParams>
</jobParams>
<jobTrigger xsi:type="simpleJobTrigger">
<duration>-1</duration>
<startTime>2014-07-14T12:47:00-04:00</startTime>
<uiPassParam>MINUTES</uiPassParam>
<repeatCount>-1</repeatCount>
<repeatInterval>1800</repeatInterval>
</jobTrigger>
<lastRun>2014-08-18T12:47:00-04:00</lastRun>
<nextRun>2014-08-18T13:17:00-04:00</nextRun>
<state>NORMAL</state>
<userName>admin</userName>
</job>
</jobs>Jobs retrieved successfully
Error while retrieving jobs
GET /plugin/scheduler-plugin/api/scheduler/getJobs HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
{
"job": [
{
"groupName": "admin",
"jobId": "admin JobName 1410786491777",
"jobName": "JobName",
"jobParams": [
{
"name": "user_locale",
"value": "en_US"
}
],
"jobTrigger": {
"duration": -1,
"startTime": "2014-08-14T11:46:00-04:00",
"uiPassParam": "MINUTES",
"repeatCount": -1,
"repeatInterval": 1800
},
"lastRun": "2014-08-14T11:46:00-04:00",
"nextRun": "2014-08-14T11:46:00-04:00",
"state": "NORMAL",
"userName": "admin"
}
]
}Checks whether the current user may schedule a repository file in the platform.
Example Request:
GET pentaho/api/scheduler/isScheduleAllowed?id=b5f806b9-9f72-4814-b1e0-aa9e0ece7e1acURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/isScheduleAllowed?id=b5f806b9-9f72-4814-b1e0-aa9e0ece7e1a" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Returns: true or false. true indicates scheduling is allowed and false indicates scheduling is not allowed for the file.
Example Response:
trueThe repository file ID of the content to checked
b5f806b9-9f72-4814-b1e0-aa9e0ece7e1aSuccessfully retrieved scheduling ability of repository file
true or false indicating scheduling is allowed for the file
Invalid repository file id
GET /plugin/scheduler-plugin/api/scheduler/isScheduleAllowed?id=b5f806b9-9f72-4814-b1e0-aa9e0ece7e1a HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
trueCreates a new scheduled job.
Example Request:
POST pentaho/api/scheduler/jobPOST data:
<jobScheduleRequest>
<jobName>JobName</jobName>
<simpleJobTrigger>
<uiPassParam>MINUTES</uiPassParam>
<repeatInterval>1800</repeatInterval>
<repeatCount>-1</repeatCount>
<startTime>2014-08-14T11:46:00.000-04:00</startTime>
<endTime />
</simpleJobTrigger>
<inputFile>/public/Steel Wheels/Top Customers (report).prpt</inputFile>
<outputFile>/public/output</outputFile>
<jobParameters>
<name>ParameterName</name>
<type>string</type>
<stringValue>false</stringValue>
</jobParameters>
</jobScheduleRequest>cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/job" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobScheduleRequest>
<jobName>JobName</jobName>
<simpleJobTrigger>
<uiPassParam>MINUTES</uiPassParam>
<repeatInterval>1800</repeatInterval>
<repeatCount>-1</repeatCount>
<startTime>2014-08-14T11:46:00.000-04:00</startTime>
<endTime />
</simpleJobTrigger>
<inputFile>/public/Steel Wheels/Top Customers (report).prpt</inputFile>
<outputFile>/public/output</outputFile>
<jobParameters>
<name>ParameterName</name>
<type>string</type>
<stringValue>false</stringValue>
</jobParameters>
</jobScheduleRequest>'Example Response:
admin JobName 1410786491777Returns: A jax-rs Response object with the created jobId.
Request object for scheduling jobs and blockouts
Name of the job
JobNameID of the job (for updates)
admin JobName 1410786491777Input file path
/public/Steel Wheels/Top Customers (report).prptOutput file path
/public/outputDuration in milliseconds for blockouts
7740000Time zone for the schedule
America/New_YorkSchedule created successfully
Created jobId
User is not allowed to create schedules
Cannot create schedules for the specified file
An error occurred while creating a schedule
POST /plugin/scheduler-plugin/api/scheduler/job HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"jobName": "JobName",
"jobId": "admin JobName 1410786491777",
"simpleJobTrigger": {
"uiPassParam": "MINUTES",
"repeatInterval": 1800,
"repeatCount": -1,
"startTime": "2014-08-14T11:46:00.000-04:00",
"endTime": ""
},
"complexJobTrigger": {
"uiPassParam": "DAILY",
"daysOfWeek": [
1,
2,
3,
4,
5
],
"startTime": "2014-08-19T10:51:00.000-04:00",
"endTime": ""
},
"inputFile": "/public/Steel Wheels/Top Customers (report).prpt",
"outputFile": "/public/output",
"duration": 7740000,
"timeZone": "America/New_York",
"jobParameters": {
"name": "ParameterName",
"type": "string",
"stringValue": "false"
}
}admin JobName 1410786491777Retrieves information about a specified job.
Example Request:
GET pentaho/api/scheduler/jobinfo?jobId=admin%20JobName%201410786491777cURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/jobinfo?jobId=admin%20JobName%201410786491777" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
<job>
<jobId>admin JobName 1410786491777</jobId>
<jobName>JobName</jobName>
<jobParams>
<jobParams>
<name>uiPassParam</name>
<value>MINUTES</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-StreamProvider</name>
<value>input file = /public/Steel Wheels/Top Customers (report).prpt:outputFile = /home/admin/JobName.*</value>
</jobParams>
<jobParams>
<name>user_locale</name>
<value>en_US</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionUser</name>
<value>admin</value>
</jobParams>
<jobParams>
<name>ActionAdapterQuartzJob-ActionId</name>
<value>prpt.backgroundExecution</value>
</jobParams>
<jobParams>
<name>ParameterName</name>
<value>false</value>
</jobParams>
<jobParams>
<name>lineage-id</name>
<value>5212a120-3294-49e8-9c5d-c755b9766c43</value>
</jobParams>
</jobParams>
<jobTrigger xsi:type="simpleJobTrigger">
<duration>-1</duration>
<startTime>2014-08-14T11:46:00-04:00</startTime>
<uiPassParam>MINUTES</uiPassParam>
<repeatCount>-1</repeatCount>
<repeatInterval>1800</repeatInterval>
</jobTrigger>
<nextRun>2014-08-14T11:46:00-04:00</nextRun>
<state>NORMAL</state>
<userName>admin</userName>
</job>Returns: A Job object containing the info for the specified job.
The jobId of the job for which we are requesting information
Cron string (Unused)
falseSuccessfully retrieved the information for the requested job
jobId is valid, but the job is either finished or does not exists
Internal error or invalid jobId
GET /plugin/scheduler-plugin/api/scheduler/jobinfo?jobId=text HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
{
"groupName": "admin",
"jobId": "admin JobName 1410786491777",
"jobName": "JobName",
"jobParams": [
{
"name": "user_locale",
"value": "en_US"
}
],
"jobTrigger": {
"duration": -1,
"startTime": "2014-08-14T11:46:00-04:00",
"uiPassParam": "MINUTES",
"repeatCount": -1,
"repeatInterval": 1800
},
"lastRun": "2014-08-14T11:46:00-04:00",
"nextRun": "2014-08-14T11:46:00-04:00",
"state": "NORMAL",
"userName": "admin"
}Checks the state of the selected scheduled job.
Example Request:
POST pentaho/api/scheduler/jobStatePOST data:
<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/jobState" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>'Example Response:
NORMALReturns: A jax-rs Response object containing the status of the scheduled job.
Request object for job operations
ID of the job
admin JobName 1410786491777Successfully retrieved the state of the requested job
State of the scheduled job
Invalid jobId
POST /plugin/scheduler-plugin/api/scheduler/jobState HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}NORMALPause the scheduler from a running state.
POST data:
This POST body does not contain data.Example Request:
POST pentaho/api/scheduler/pausecURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/pause" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
PAUSEDReturns: A jax-rs Response object containing the status of the scheduler.
Successfully paused the server
Status of the scheduler
An error occurred when pausing the scheduler
POST /plugin/scheduler-plugin/api/scheduler/pause HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
PAUSEDPause the specified scheduled job.
Example Request:
POST pentaho/api/scheduler/pauseJobPOST data:
<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/pauseJob" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>'Example Response:
PAUSEDReturns: A jax-rs Response object containing the status of the scheduled job.
Request object for job operations
ID of the job
admin JobName 1410786491777Successfully paused the job
Status of the scheduled job
Invalid jobId
POST /plugin/scheduler-plugin/api/scheduler/pauseJob HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}PAUSEDDelete the specified scheduled job from the platform.
Example Request:
PUT pentaho/api/scheduler/removeJobPUT data:
<jobRequest>
<jobId>admin BlockoutAction 1410786491503</jobId>
</jobRequest>cURL Example:
curl -X PUT \
"http://localhost:8080/pentaho/api/scheduler/removeJob" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin BlockoutAction 1410786491503</jobId>
</jobRequest>'Example Response:
REMOVEDReturns: A jax-rs Response object containing the status of the scheduled job.
Request object for job operations
ID of the job
admin JobName 1410786491777Successfully removed the job
Status of the scheduled job
Invalid jobId
PUT /plugin/scheduler-plugin/api/scheduler/removeJob HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}REMOVEDDelete the specified scheduled job from the platform.
Example Request:
DELETE pentaho/api/scheduler/removeJobDELETE data:
<jobRequest>
<jobId>admin BlockoutAction 1410786491503</jobId>
</jobRequest>cURL Example:
curl -X DELETE \
"http://localhost:8080/pentaho/api/scheduler/removeJob" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin BlockoutAction 1410786491503</jobId>
</jobRequest>'Example Response:
REMOVEDReturns: A jax-rs Response object containing the status of the scheduled job.
Note: This method is deprecated. Use "PUT pentaho/api/scheduler/removeJob" instead.
Request object for job operations
ID of the job
admin JobName 1410786491777Successfully removed the job
Status of the scheduled job
Invalid jobId
DELETE /plugin/scheduler-plugin/api/scheduler/removeJob HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}REMOVEDResume the specified scheduled job.
Example Request:
POST pentaho/api/scheduler/resumeJobPOST data:
<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/resumeJob" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>'Example Response:
NORMALReturns: A jax-rs Response object containing the status of the scheduled job.
Request object for job operations
ID of the job
admin JobName 1410786491777Successfully resumed the job
Status of the scheduled job
Invalid jobId
POST /plugin/scheduler-plugin/api/scheduler/resumeJob HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}NORMALShuts down the scheduler.
Example Request:
POST pentaho/api/scheduler/shutdownPOST data:
This POST body does not contain data.cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/shutdown" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
PAUSEDReturns: A jax-rs Response object containing the status of the scheduler.
Successfully shut down the server
Status of the scheduler
An error occurred when shutting down the scheduler
POST /plugin/scheduler-plugin/api/scheduler/shutdown HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
PAUSEDResume the scheduler from a paused state.
Example Request:
POST pentaho/api/scheduler/startPOST data:
This POST body does not contain data.cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/start" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
RUNNINGReturns: A jax-rs Response object containing the status of the scheduler.
Successfully started the server
Status of the scheduler
An error occurred when resuming the scheduler
POST /plugin/scheduler-plugin/api/scheduler/start HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
RUNNINGReturns the current state of the scheduler.
Example Request:
GET pentaho/api/scheduler/statecURL Example:
curl -X GET \
"http://localhost:8080/pentaho/api/scheduler/state" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="Example Response:
RUNNINGReturns: status of the scheduler as RUNNING or PAUSED.
Successfully retrieved the state of the scheduler
Status of the scheduler as RUNNING or PAUSED
An error occurred when getting the state of the scheduler
GET /plugin/scheduler-plugin/api/scheduler/state HTTP/1.1
Host:
Authorization: Basic username:password
Accept: */*
RUNNINGExecute a previously scheduled job.
Example Request:
POST pentaho/api/scheduler/triggerNowPOST data:
<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>cURL Example:
curl -X POST \
"http://localhost:8080/pentaho/api/scheduler/triggerNow" \
-H "Content-Type: application/xml" \
-H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
-d '<jobRequest>
<jobId>admin JobName 1410786491777</jobId>
</jobRequest>'Example Response:
NORMALReturns: A Response object indicating the status of the scheduler.
Request object for job operations
ID of the job
admin JobName 1410786491777Job triggered successfully
Status of the scheduler
Invalid input
Invalid jobId
POST /plugin/scheduler-plugin/api/scheduler/triggerNow HTTP/1.1
Host:
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"jobId": "admin JobName 1410786491777"
}NORMALWas this helpful?

