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 the scheduler.
The following resources are applicable:
- /scheduler/blockout/add
- /scheduler/blockout/blockoutjobs
- /scheduler/blockout/blockstatus
- /scheduler/blockout/hasblockouts
- /scheduler/blockout/shouldFireNow
- /scheduler/blockout/update
- /scheduler/blockout/willFire
- /scheduler/canSchedule
- /scheduler/generatedContentForSchedule
- /scheduler/getContentCleanerJob
- /scheduler/getJobs
- /scheduler/isScheduleAllowed
- /scheduler/job
- /scheduler/jobinfo
- /scheduler/jobState
- /scheduler/pause
- /scheduler/pauseJob
- /scheduler/removeJob
- /scheduler/resumeJob
- /scheduler/shutdown
- /scheduler/start
- /scheduler/state
- /scheduler/triggerNow
/scheduler/blockout/add
POST
Creates a new blockout for scheduled jobs.
Example Request:
POST pentaho/api/scheduler/blockout/add
POST data:
<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 Body
element: | jobScheduleRequest |
media types: | application/xml application/json |
A JobScheduleRequest object defining the blockout job.
Response Body
element: | (custom) |
media types: | */* application/xml application/octet-stream |
A Response object which contains the ID of the blockout which was created.
Example Response:
admin BlockoutAction 1410786491209
Status Codes
code | description |
---|---|
200 | Successful operation. |
401 | User is not authorized to create blockout. |
/scheduler/blockout/blockoutjobs
GET
Get all the blockout jobs in the system.
Example Request:
GET pentaho/api/scheduler/blockout/blockoutjobs
Response Body
element: | (custom) |
media types: | application/xml application/json |
A Response object that contains a list of blockout jobs.
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>
Status Codes
code | description |
---|---|
200 | Successfully retrieved blockout jobs. |
/scheduler/blockout/blockstatus
POST
Check the status of the selected blockout schedule.
Example Request:
POST pentaho/api/scheduler/blockout/blockstatus
POST data:
<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 Body
element: | jobScheduleRequest |
media types: | application/xml application/json |
The payload containing the definition of the blockout.
Response Body
element: | (custom) |
media types: | application/xml application/json |
A Response object which contains a BlockStatusProxy which contains totallyBlocked and partiallyBlocked flags.
Example Response:
<blockStatusProxy> <partiallyBlocked>true</partiallyBlocked> <totallyBlocked>true</totallyBlocked> </blockStatusProxy>
Status Codes
code | description |
---|---|
200 | Successfully got the blockout status. |
401 | User is not authorized to get the blockout status. |
/scheduler/blockout/hasblockouts
GET
Checks if there are blockouts in the system.
Example Request:
GET pentaho/api/scheduler/blockout/hasblockouts
Response Body
element: | (custom) |
media types: | text/plain |
true or false whether there are blackouts or not.
Example Response:
true
Status Codes
code | description |
---|---|
200 | Successfully determined whether or not the system contains blockouts. |
/scheduler/blockout/shouldFireNow
GET
Checks if the selected blockout schedule should be fired now.
Example Request:
GET pentaho/api/scheduler/blockout/shouldFireNow
Response Body
element: | (custom) |
media types: | text/plain |
true or false whether or not the blockout should fire now.
Example Response:
true
Status Codes
code | description |
---|---|
200 | Successful operation. |
/scheduler/blockout/update
POST
Update an existing blockout.
Example Request:
POST pentaho/api/scheduler/blockout/update?jobid=admin%09BlockoutAction%091410786491209
POST data:
<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>
Parameters
name | description | type |
---|---|---|
jobid | The jobId of the blockout we are editing. | query |
Request Body
element: | jobScheduleRequest |
media types: | application/xml application/json |
The payload containing the definition of the blockout.
Response Body
element: | (custom) |
media types: | */* application/xml application/octet-stream |
A Response object which contains the ID of the blockout which was created.
Example Response:
admin BlockoutAction 1410786491503
Status Codes
code | description |
---|---|
200 | Successful operation. |
401 | User is not authorized to update blockout. |
/scheduler/blockout/willFire
POST
Checks if the selected blockout schedule will be fired.
Example Request:
POST pentaho/api/scheduler/blockout/willFire
POST data:
<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 Body
element: | jobScheduleRequest |
media types: | application/xml application/json |
The payload containing the definition of the blockout.
Response Body
element: | (custom) |
media types: | text/plain |
true or false indicating whether or not the blockout will fire.
Example Response:
false
Status Codes
code | description |
---|---|
200 | Successful operation. |
500 | An error occurred while determining blockouts being fired. |
/scheduler/canSchedule
GET
Checks whether the current user has authority to schedule any content in the platform.
Example Request:
GET pentaho/api/scheduler/canSchedule
Response Body
element: | (custom) |
media types: | text/plain |
true or false. true indicates scheduling is allowed and false indicates scheduling is not allowed for the user.
Example Response:
true
Status Codes
code | description |
---|---|
200 | Successful retrieved the scheduling permission. |
500 | Unable to retrieve the scheduling permission. |
/scheduler/generatedContentForSchedule
GET
Retrieve the list of execute content by lineage id.
Example Request:
GET pentaho/api/scheduler/generatedContentForSchedule?lineageId=:public:Steel%20Wheels:Inventory%20List%20(report).prpt
Parameters
name | description | type |
---|---|---|
lineageId | the path for the file. | query |
Response Body
element: | (custom) |
media types: | application/xml application/json |
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></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> </repositoryFileAclDto> </List>
Status Codes
code | description |
---|---|
200 | Successfully got the generated content for schedule |
/scheduler/getContentCleanerJob
GET
Get the scheduled job created by the system for deleting generated files.
Example Request:
GET pentaho/api/scheduler/getContentCleanerJob
Response Body
element: | job |
media types: | application/xml application/json |
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>
Status Codes
code | description |
---|---|
200 | Content cleaner job successfully retrieved. |
204 | No content cleaner job exists. |
/scheduler/getJobs
GET
Retrieve the all the scheduled job(s) visible to the current users.
Example Request:
GET pentaho/api/scheduler/getJobs
Response Body
element: | (custom) |
media types: | application/xml application/json |
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>
Status Codes
code | description |
---|---|
200 | Jobs retrieved successfully. |
500 | Error while retrieving jobs. |
/scheduler/isScheduleAllowed
GET
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-aa9e0ece7e1a
Parameters
name | description | type |
---|---|---|
id | The repository file ID of the content to checked. | query |
Response Body
element: | (custom) |
media types: | text/plain |
true or false. true indicates scheduling is allowed and false indicates scheduling is not allowed for the file.
Example Response:
true
Status Codes
code | description |
---|---|
200 | Successfully retrieved scheduling ability of repository file. |
500 | Invalid repository file id. |
/scheduler/job
POST
Creates a new scheduled job.
Example Request:
POST pentaho/api/scheduler/job
POST 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>
Request Body
element: | jobScheduleRequest |
media types: | application/xml application/json |
A JobScheduleRequest object to define the parameters of the job being created.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object with the created jobId.
Example Response:
admin JobName 1410786491777
Status Codes
code | description |
---|---|
200 | Schedule created successfully. |
401 | User is not allowed to create schedules. |
403 | Cannot create schedules for the specified file. |
500 | An error occurred while creating a schedule. |
/scheduler/jobinfo
GET
Return the information for a specified job.
Example Request:
GET pentaho/api/scheduler/jobinfo?jobId=admin%09JobName%091410786491777
Parameters
name | description | type |
---|---|---|
jobId | The jobId of the job for which we are requesting information. | query |
asCronString | Cron string (Unused) | query |
Response Body
element: | job |
media types: | application/xml application/json |
A Job object containing the info for the specified job.
Example Response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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>
Status Codes
code | description |
---|---|
200 | Successfully retrieved the information for the requested job. |
500 | Invalid jobId. |
/scheduler/jobState
POST
Checks the state of the selected scheduled job.
Example Request:
POST pentaho/api/scheduler/jobState
POST data:
<jobRequest> <jobId>admin JobName 1410786491777</jobId> </jobRequest>
Request Body
element: | jobRequest |
media types: | application/xml application/json |
A JobRequest object containing the jobId.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduled job.
Example Response:
NORMAL
Status Codes
code | description |
---|---|
200 | Successfully retrieved the state of the requested job. |
500 | Invalid jobId. |
/scheduler/pause
POST
Pause the scheduler from a running state.
Example Request:
POST pentaho/api/scheduler/pause
POST data:
This POST body does not contain data.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduler.
Example Response:
PAUSED
Status Codes
code | description |
---|---|
200 | Successfully paused the server. |
500 | An error occurred when pausing the scheduler. |
/scheduler/pauseJob
POST
Pause the specified scheduled job.
Example Request:
POST pentaho/api/scheduler/pauseJob
POST data:
<jobRequest> <jobId>admin JobName 1410786491777</jobId> </jobRequest>
Request Body
element: | jobRequest |
media types: | application/xml application/json |
A JobRequest object containing the jobId.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduled job.
Example Response:
PAUSED
Status Codes
code | description |
---|---|
200 | Successfully paused the job. |
500 | Invalid jobId. |
/scheduler/removeJob
DELETE
Delete the specified scheduled job from the platform.
Example Request:
DELETE pentaho/api/scheduler/removeJob
DELETE data:
<jobRequest> <jobId>admin BlockoutAction 1410786491503</jobId> </jobRequest>
Request Body
element: | jobRequest |
media types: | application/xml application/json |
A JobRequest object containing the jobId.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduled job.
Example Response:
REMOVED
Status Codes
code | description |
---|---|
200 | Successfully removed the job. |
500 | Invalid jobId. |
/scheduler/resumeJob
POST
Resume the specified scheduled job.
Example Request:
POST pentaho/api/scheduler/resumeJob
POST data:
<jobRequest> <jobId>admin JobName 1410786491777</jobId> </jobRequest>
Request Body
element: | jobRequest |
media types: | application/xml application/json |
A JobRequest object containing the jobId.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduled job.
Example Response:
NORMAL
Status Codes
code | description |
---|---|
200 | Successfully resumed the job. |
500 | Invalid jobId. |
/scheduler/shutdown
POST
Shuts down the scheduler.
Example Request:
POST pentaho/api/scheduler/shutdown
POST data:
This POST body does not contain data.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduler.
Example Response:
PAUSED
Status Codes
code | description |
---|---|
200 | Successfully shut down the server. |
500 | An error occurred when shutting down the scheduler. |
/scheduler/start
POST
Resume the scheduler from a paused state.
Example Request:
POST pentaho/api/scheduler/start
POST data:
This POST body does not contain data.
Response Body
element: | (custom) |
media types: | text/plain |
A jax-rs Response object containing the status of the scheduler.
Example Response:
RUNNING
Status Codes
code | description |
---|---|
200 | Successfully started the server. |
500 | An error occurred when resuming the scheduler. |
/scheduler/state
GET
Returns the state of the scheduler with the value of RUNNING or PAUSED.
Example Request:
GET pentaho/api/scheduler/state
Response Body
element: | (custom) |
media types: | text/plain |
status of the scheduler as RUNNING or PAUSED.
Example Response:
RUNNING
Status Codes
code | description |
---|---|
200 | Successfully retrieved the state of the scheduler. |
500 | An error occurred when getting the state of the scheduler. |
/scheduler/triggerNow
POST
Execute a previously scheduled job.
Example Request:
POST pentaho/api/scheduler/triggerNow
POST data:
<jobRequest> <jobId>admin JobName 1410786491777</jobId> </jobRequest>
Request Body
element: | jobRequest |
media types: | application/xml application/json |
A JobRequest object containing the jobId.
Response Body
element: | (custom) |
media types: | text/plain |
A Response object indicating the status of the scheduler.
Example Response:
NORMAL
Status Codes
code | description |
---|---|
200 | Job triggered successfully. |
400 | Invalid input. |
500 | Invalid jobId. |