Page History
Table of Contents |
---|
Introduction
JS7 - Notification - Configuration is performed from the Configuration->Notification sub-view of JOC Cockpit and includes setting up the configuration for the JS7 - Monitor Service.
- The MailFragment element is used to specify the content, format and recipients of e-mail notifications. The subject and body of e-mails can be populated from JS7 - Notification - Configuration, Monitor Variables.
- In addition, mail server connection settings are used from JS7 - Job Resources.
- Detailed information can be found in the JS7 - How to set up e-mail notification for failed jobs article.
MailFragment
Attributes
The MailFragment
element supports the following attributes:
Attribute | Usage | Description |
---|---|---|
name | Required | Unique name of the fragment. |
job_resources | Required | A list of JS7 - Job Resources that specify mail server connection settings. |
content_type | Optional | Content type of the e-mail. Possible values:
Default: |
charset | Optional | Charset of the e-mail. Default: |
encoding | Optional | Encoding of the e-mail. Possible values:
Default: |
priority | Optional | Priority of the e-mail. Possible values:
Default: |
Attributes from Job Resources
The following settings must be provided by a Job Resource that is assigned a MailFragment:
Attribute | Usage | Description |
---|---|---|
mail.smtp.host | Required | Host name or IP address of the mail server. |
Optional settings include - but are not limited to - settings specific for the mail server, e.g. for authentication:
Attribute | Usage | Description |
---|---|---|
mail.smtp.port | Optional | The port number for SMTP access to the mail server. Frequent port numbers include:
|
mail.smtp.timeout | Optional | Socket read timeout for mail server connection. |
mail.smtp.connectiontimeout | Optional | Socket connection timeout for mail server. |
mail.smtp.user | Optional | User name for the account that sends e-mail, for example user@domain. |
mail.smtp.password | Optional | Password for the account that sends e-mail. |
mail.smtp.ssl.enable | Optional | Enables SSL |
mail.smtp.starttls.enable | Optional | Enables TLS |
mail.smtp.ssl.protocols | Optional | Specifies the TLS protocol version should a TLS/SSL connection be used:
|
Basically, any settings with the prefix mail.smtp.
can be configured with a Job Resource that is assigned the MailFragment. JS7 makes use of JavaMail: a list of available settings for example can be found at https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html.
Additional optional settings from Job Resources for the E-Mail addresses include, for example:
Attribute | Usage | Description |
---|---|---|
from | Optional | E-mail address of the account that sends e-mail. |
from_name | Optional | Name for the E-mail address of the account that sends e-mail. |
to | Optional | E-mail address of the recipient(s) of a notification e-mail. |
cc | Optional | E-mail address of the recipient(s) of a carbon copy notification e-mail. |
bcc | Optional | E-mail address of recipient(s) of a blind carbon copy notification e-mail. |
Elements
The following elements are nested inside the MailFragment element:
Element | Element description | Description |
---|---|---|
MessageRef | Required, only once inside of the MailFragment element | Body of an e-mail notification that is provided by the referenced Message element. |
Subject | Required, only once inside of the MailFragment element | Subject of an e-mail notification. |
From | Optional or only once inside of the MailFragment element | E-mail address of the account that sends e-mail. |
To | Optional or only once inside of the MailFragment element | E-mail address of the recipient(s) of a notification e-mail. |
CC | Optional or only once inside of the MailFragment element | E-mail address of the recipient(s) of a carbon copy notification e-mail. |
BCC | Optional or only once inside of the MailFragment element | E-mail address of recipient(s) of a blind carbon copy notification e-mail. |
Subject
Subject of an e-mail notification.
The Subject
can include JS7 - Notification - Configuration, Monitor Variables.
Example for generic Subject Element in the event of Success and Failure
- The
${MON_N_TYPE}
monitor variable will be substituted by one of the values: SUCCESS, WARNING, ERROR, RECOVERED
Code Block | ||||
---|---|---|---|---|
| ||||
JS7 JobScheduler Notification: ${MON_N_TYPE} - Order ID: ${MON_O_ORDER_ID} - Workflow: ${MON_O_WORKFLOW_PATH} |
Example for Subject Element in the event of Success
Code Block | ||||
---|---|---|---|---|
| ||||
JS7 JobScheduler Notification: SUCCESS - Order ID: ${MON_O_ORDER_ID} - Workflow: ${MON_O_WORKFLOW_PATH} |
Example for Subject Element in the event of Failure
Code Block | ||||
---|---|---|---|---|
| ||||
JS7 JobScheduler Notification: FAILURE - Order ID: ${MON_O_ORDER_ID} - Workflow: ${MON_O_WORKFLOW_PATH} |
MessageRef
The Message element referenced specifies the body of an e-mail notification.
- The
Message
element can include JS7 - Notification - Configuration, Monitor Variables. - The
Message
element specifies the e-mail body in HTML format or in plain text format.
Example for HTML E-Mail Body in the event of Success
- Download: mail_on_success.html
- Users can paste the below example as input to the
Message
element.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style>.tg {border-collapse:collapse;border-spacing:0;border-color:#bbb;}.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#bbb;color:#594F4F;background-color:#fff;}.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:bold;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#bbb;color:#fff;background-color:#9DE0AD}</style> <title>JS7 JobScheduler Notification</title> </head> <body> <table class="tg"> <tr> <th colspan="4">Controller</th> </tr> <tr> <td>Controller ID:</td> <td>${MON_O_CONTROLLER_ID}</td> <td>Agent URI:</td> <td>${MON_OS_AGENT_URI}</td> </tr> <tr> <th colspan="4">Order</th> </tr> <tr> <td>Order ID:</td> <td colspan="3"> <a href="${JOC_HREF_ORDER}">${MON_O_ORDER_ID}</a> </td> </tr> <tr> <td>Order Log:</td> <td colspan="3"> <a href="${JOC_HREF_ORDER_LOG}">${JOC_HREF_ORDER_LOG}</a> </td> </tr> <tr> <td>Workflow Path:</td> <td> <a href="${JOC_HREF_WORKFLOW}">${MON_O_WORKFLOW_PATH}</a> </td> <td>Workflow Title:</td> <td>${MON_O_WORKFLOW_TITLE}</td> </tr> <tr> <td>Job Name:</td> <td> <a href="${JOC_HREF_JOB}">${MON_OS_JOB_NAME}</a> </td> <td>Job Title:</td> <td>${MON_OS_JOB_TITLE}</td> </tr> <tr> <td>Job Label:</td> <td>${MON_OS_JOB_LABEL}</td> <td>Job Criticality:</td> <td>${MON_OS_JOB_CRITICALITY}</td> </tr> <tr> <td>Job Log:</td> <td colspan="3"> <a href="${JOC_HREF_JOB_LOG}">${JOC_HREF_JOB_LOG}</a> </td> </tr> <tr> <th colspan="4">Order History</th> </tr> <tr> <td>Status:</td> <td>${MON_O_SEVERITY}</td> <td>Time elapsed:</td> <td>${MON_O_TIME_ELAPSED}</td> </tr> <tr> <td>Start Time UTC:</td> <td>${MON_O_START_TIME}</td> <td>End Time UTC:</td> <td>${MON_O_END_TIME}</td> </tr> <tr> <th colspan="4">Order Step History</th> </tr> <tr> <td>Status:</td> <td>${MON_OS_SEVERITY}</td> <td>Time elapsed:</td> <td>${MON_OS_TIME_ELAPSED}</td> </tr> <tr> <td>Start Time UTC:</td> <td>${MON_OS_START_TIME}</td> <td>End Time UTC:</td> <td>${MON_OS_END_TIME}</td> </tr> </table> </body> </html> |
Example for HTML E-Mail Body in the event of Failure
- Download: mail_on_failure.html
- Users can paste the example listed below as input to the
Message
element.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <style>.tg {border-collapse:collapse;border-spacing:0;border-color:#aaa;}.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#333;background-color:#fff;}.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:bold;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#fff;background-color:#f38630;}</style> <title>JS7 JobScheduler Notification</title> </head> <body> <table class="tg"> <tr> <th colspan="4">Error/Warning</th> </tr> <tr> <td>Return Code:</td> <td>${MON_OS_RETURN_CODE}</td> <td>Message:</td> <td>${MON_OS_ERROR_TEXT}</td> </tr> <tr> <td>Error Code:</td> <td>${MON_OS_ERROR_CODE}</td> <td>Warning:</td> <td>${MON_OS_WARN_TEXT}</td> </tr> <tr> <th colspan="4">Controller</th> </tr> <tr> <td>Controller ID:</td> <td>${MON_O_CONTROLLER_ID}</td> <td>Agent URI:</td> <td>${MON_OS_AGENT_URI}</td> </tr> <tr> <th colspan="4">Order</th> </tr> <tr> <td>Order ID:</td> <td colspan="3"> <a href="${JOC_HREF_ORDER}">${MON_O_ORDER_ID}</a> </td> </tr> <tr> <td>Order Log:</td> <td colspan="3"> <a href="${JOC_HREF_ORDER_LOG}">${JOC_HREF_ORDER_LOG}</a> </td> </tr> <tr> <td>Workflow Path:</td> <td> <a href="${JOC_HREF_WORKFLOW}">${MON_O_WORKFLOW_PATH}</a> </td> <td>Workflow Title:</td> <td>${MON_O_WORKFLOW_TITLE}</td> </tr> <tr> <td>Job Name:</td> <td> <a href="${JOC_HREF_JOB}">${MON_OS_JOB_NAME}</a> </td> <td>Job Title:</td> <td>${MON_OS_JOB_TITLE}</td> </tr> <tr> <td>Job Label:</td> <td>${MON_OS_JOB_LABEL}</td> <td>Job Criticality:</td> <td>${MON_OS_JOB_CRITICALITY}</td> </tr> <tr> <td>Job Log:</td> <td colspan="3"> <a href="${JOC_HREF_JOB_LOG}">${JOC_HREF_JOB_LOG}</a> </td> </tr> <tr> <th colspan="4">Order History</th> </tr> <tr> <td>Status:</td> <td>${MON_O_SEVERITY}</td> <td>Time elapsed:</td> <td>${MON_O_TIME_ELAPSED}</td> </tr> <tr> <td>Start Time UTC:</td> <td>${MON_O_START_TIME}</td> <td>End Time UTC:</td> <td>${MON_O_END_TIME}</td> </tr> <tr> <th colspan="4">Order Step History</th> </tr> <tr> <td>Status:</td> <td>${MON_OS_SEVERITY}</td> <td>Time elapsed:</td> <td>${MON_OS_TIME_ELAPSED}</td> </tr> <tr> <td>Start Time UTC:</td> <td>${MON_OS_START_TIME}</td> <td>End Time UTC:</td> <td>${MON_OS_END_TIME}</td> </tr> </table> </body> </html> |
Example for TEXT E-Mail Body in the event of Success
- Download: mail_on_success.txt
- Users can paste the example listed below as input to the
Message
element.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
* CONTROLLER *\n ----------------------------------------\n ** Controller ID: ${MON_O_CONTROLLER_ID}\n ** Agent URL: ${MON_OS_AGENT_URI}\n \n \n * ORDER *\n ----------------------------------------\n ** Order ID: ${MON_O_ORDER_ID} ${JOC_HREF_ORDER}\n ** Order Log: ${JOC_HREF_ORDER_LOG}\n \n \n * WORKFLOW *\n ----------------------------------------\n ** Workflow Path: ${MON_O_WORKFLOW_PATH} ${JOC_HREF_WORKFLOW}\n ** Workflow Title: ${MON_O_WORKFLOW_TITLE}\n ** Job Name: ${MON_OS_JOB_NAME} ${JOC_HREF_JOB}\n ** Job Title: ${MON_OS_JOB_TITLE}\n ** Job Label: ${MON_OS_JOB_LABEL}\n ** Job Criticality: ${MON_OS_JOB_CRITICALITY}\n ** Job Log: ${JOC_HREF_JOB_LOG}\n \n \n * ORDER HISTORY *\n ----------------------------------------\n ** Status: ${MON_O_SEVERITY}\n ** Time elapsed: ${MON_O_TIME_ELAPSED}\n ** Start Time: ${MON_O_START_TIME}\n ** End Time: ${MON_O_END_TIME}\n \n \n * ORDER STEP HISTORY *\n ----------------------------------------\n ** Status: ${MON_OS_SEVERITY}\n ** Time elapsed: ${MON_OS_TIME_ELAPSED}\n ** Start Time: ${MON_OS_START_TIME}\n ** End Time: ${MON_OS_END_TIME}\n |
Example for TEXT E-Mail Body in the event of Failure
- Download: mail_on_failure.txt
- Users can paste the below example as input to the
Message
element.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
* ERROR / WARNING *\n ----------------------------------------\n ** Return Code: ${MON_OS_RETURN_CODE}\n ** Error Code: ${MON_OS_ERROR_CODE}\n ** Message: ${MON_OS_ERROR_TEXT}\n ** Warning: ${MON_OS_WARN_TEXT}\n \n \n * CONTROLLER *\n ----------------------------------------\n ** Controller ID: ${MON_O_CONTROLLER_ID}\n ** Agent URL: ${MON_OS_AGENT_URI}\n \n \n * ORDER *\n ----------------------------------------\n ** Order ID: ${MON_O_ORDER_ID} ${JOC_HREF_ORDER}\n ** Order Log: ${JOC_HREF_ORDER_LOG}\n \n \n * WORKFLOW *\n ----------------------------------------\n ** Workflow Path: ${MON_O_WORKFLOW_PATH} ${JOC_HREF_WORKFLOW}\n ** Workflow Title: ${MON_O_WORKFLOW_TITLE}\n ** Job Name: ${MON_OS_JOB_NAME} ${JOC_HREF_JOB}\n ** Job Title: ${MON_OS_JOB_TITLE}\n ** Job Label: ${MON_OS_JOB_LABEL}\n ** Job Criticality: ${MON_OS_JOB_CRITICALITY}\n ** Job Log: ${JOC_HREF_JOB_LOG}\n \n \n * ORDER HISTORY *\n ----------------------------------------\n ** Status: ${MON_O_SEVERITY}\n ** Time elapsed: ${MON_O_TIME_ELAPSED}\n ** Start Time: ${MON_O_START_TIME}\n ** End Time: ${MON_O_END_TIME}\n \n \n * ORDER STEP HISTORY *\n ----------------------------------------\n ** Status: ${MON_OS_SEVERITY}\n ** Time elapsed: ${MON_OS_TIME_ELAPSED}\n ** Start Time: ${MON_OS_START_TIME}\n ** End Time: ${MON_OS_END_TIME}\n |