Summary
- Reports can be created by use of individual cmdlets, see
- Each report is added as an individual worksheet to an Excel report file.
- This use case explains how to automate creation of reports and how to send reports by mail.
Download
- Download the sample of a job chain for Windows: daily_report.zip
- For use with Linux environments you can use the same job chain and order, but replace the jobs with the respective Linux flavor that you find with the above mentioned use case articles.
- Unzip the archive to the JobScheduler Master's
./config/live
folder - The extracted files are available from a sub-directory
./config/live/daily_report
Building Blocks
- For starters the jobs to be used are explained with individual articles, see Summary.
- Next a job chain daily_report is created that serializes execution of the above jobs.
- Keep in mind that you will not need all reports as they provide redundant data, e.g. the Task History Report includes similar reporting data as the Job Stream History Report.
- The main purpose of the reports is to allow different perspectives on historic data, therefore make your choice which report you will need.
- The job scripts are added three parameters,
report_date_from
,report_date_to
andreport_file_path
, that are provided by the order for the job chain, see below.
- Then a
send_report
job is added. - Finally an order is created to parameterize and to schedule execution of the job chain.
Job Chain: daily_report
Explanations:
- There is no specific sequence in which the reporting jobs have to be executed. Each job writes results to an individual worksheet of the Excel report file.
- For the final job
send_report
no error handling is configured. Should this job fail to send an e-mail then the e-mail file is written to the./mail
folder and will later on be picked up by the/sos/sendMail/sendMail
job chain that will retry to send unsuccessful mail.
Job: send_report
Explanations:
- The
send_report
job is based on the JobSchedulerManagedMailJob template. - The job makes use of a number of parameters that are independent from the content of the report and from recipients of the report:
subject
: is mapped to the subject of the e-mail.content_type
: depends on the content of thebody
. When using HTML for the e-mail body then thecontent_type
istext/html
.body
: defines a few lines of HTML output for the e-mail body.attachment
: consider use of the syntax\${REPORT_FILE_PATH}
that indicates that the value of theattachment
parameter is thereport_file_path
parameter. The leading backslash is required to prevent the value to be substituted as an environment variable. Thereport_file_path
parameter is added by the order, see below.- No settings for the SMTP server, port, authentication etc. are used as such settings default to the configuration of the JobScheduler Master to send mail.
Order: daily_report
Explanations:
- The order carries the following parameters:
report_file_path
: the path - including the name - of the Excel report file. This parameter is forwarded to all jobs in the job chain that therefore will write to the same Excel report file.report_date_from
: a relative date specification for the begin of the reporting period is used. The above value-1d+TZ
translates to a date range starting 1 day ago at midnight in the timezone that is specified by the reporting jobs with the-Timezone
parameter for the respective reporting cmdlet.report_date_to
: a relative date specification for the end of the reporting period is used. The above value+1d+TZ
translates to a date range one day after the current date at midnight in the timezone that is specified by the reporting jobs with the-Timezone
parameter for the respective reporting cmdlet.to
: the recipient of the e-mail. Multiple recipients are separated by comma ",".
- The above order can be added a run-time to specify automated execution, e.g. on a daily basis or more/less frequently.
- Additional orders can be created with different parameter sets for date range an recipients that use the same job chain.