You're currently browsing the Ignition 8.0 docs. Click here to view the latest docs.

Scheduling Actions

Actions can be configured to run once the report has generated at the scheduled time. Each action has its own custom configuration interface to make adding and editing Actions simple. The Actions you can perform following report generation are Print, FTP, Save, Email, and Run Script. You can even have multiple actions on the same schedule. So you can save the report to the hard drive, as well as email it out to multiple users.

Before creating any Scheduling Actions, you must first create a schedule

To create an Action, click the Actions tab, click the plus icon  and select an Action. Actions can be deleted using the trash  icon, and executed immediately using the Double Arrow button.


On this page ...

Print Action

The Print Action is used to send a report to a printer that is accessible from a computer Ignition is installed on. Here are a list of property descriptions for the Print Action.

Property NameDescription
Primary PrinterThe primary method of printing the report.
Backup PrinterA backup method of printing the report. Will print using this option if the Primary Printer fails. [Optional]
Print Mode

The mode to print the report in. Can be either Vector or Raster.

Print ModeDescription
VectorUses math to draw shapes using points, lines, and curves.The most common types of vector graphics are fonts and logos.  PDF is a popular vector type. Vector based graphics like SVG image files show images with no pixelation when the size is changed.
RasterAre composed of thousands of pixels or dots. Set the dpi (dots per inch). Common raster file format extensions are jpg, jpeg, png, tiff, bmp, and gif.
CopiesThe number of copies of the report that will print.
Print on both sidesWill attempt to print on both sides of a sheet of paper, if supported by the printer.
CollateOrders the pages so that a complete report prints before the next copy prints, if applicable.
Use AutoLandscape ModeEvaluates the page dimensions and determines portrait or landscape orientation.
Page OrientationThe orientation of the page. Can either be Portrait or Landscape.

FTP Action

The FTP Action can be used to automatically upload your reports to a file server for backups or storage. Here are a list of property descriptions for the FTP Action. 

Property NameDescription
Server AddressThe server address where the report file will be transferred.
PortThe port of the file transfer.
Folder PathThe folder path that the report file will be transferred to.
FormatThe file format of the report.
UsernameThe username that will be used to access the FTP server.
PasswordThe password that will be used to access the FTP server.
SSLWill use SSL encryption if True.
FilenameThe name of the report file. The Filename property is constructed using the expression language.

Save File Action

The Save File Action will save a copy of the report to any folder the Ignition server has access to, such as a local folder or network shared drive. Here are a list of property descriptions for the Save File Action.

Property NameDescription
Folder PathThe folder path to save the report files to. This folder path is for the Ignition Gateway server.
FormatThe file format of the report.
FilenameThe name of the report files. The Filename property is constructed using the expression language.


Scheduling Actions - Save

Email Action

The Email Action distributes a report via email when the report is finished executing. There is a Recipients Source property that allows you to send emails using either Email Addresses or User Roles. The 'From Address,' 'Subject', 'Body,' and 'Attachment Filename' are all configurable. The Subject, Filename, and Body editors can utilize Expressions to dynamically add content or change names.

Email Server settings must first be configured on the Gateway webpage under Configure > Networking > Email Settings page, or in Email Actions and clicking the Create new server link. Once you create and save an SMTP profile, you can test your email settings for your mail server on the Gateway webpage under Email Settings.


Scheduling Actions - Email

Creating an email server

Before you setup any reports to be emailed, an email server must be configured. To create an email server if one doesn't exist, use the 'Create new server' link. This link will take you to Configure > Email Settings on the Gateway webpage. There, you will be able to create an SMTP server. For more information, refer to Gateway Settings.

Here are a list of property descriptions for the Email Action.

Property NameDescription
From AddressThe Email address from which the report is sent from.
Mail ServerThe mail server to use to email the report. If one doesn't exist, click on the Create new server link. Refer to Email Settings for more information on that page.
FormatThe file format of the report.
RetriesThe number of retry attempts if the email that was sent failed to be delivered the first time.
Address Source

Will decide how email addresses are collected. Can be either Email Addresses or User Roles.

There is a 'ReplyTo' Email function that allows you to reply to email actions using the Email Address and User Roles. This simply adds those emails to the "ReplyTo" header of the email sent to the recipient list, so that if recipients choose to reply to that email, their reply is sent to those email addresses as well. 

A table of email addresses with a method that determines how those addresses will be used. Click the plus icon  on the right side of the window to add additional rows.

Property NameDescription
AddressesA list of email addresses.
MethodThe corresponding method of what to do with the email addresses. Options are To, CC, BCC, and ReplyTo.

A list of roles where anyone with the given role in the specified user source with an email address will receive an email.

Recipient User SourceThe User Source to pull users from that match the Recipient Roles to get an email.
Recipient RolesA list of roles to match with users. Any user that has any of the listed roles will get an email.
ReplyTo User SourceThe User Source to pull users from that match the ReplyTo Roles that will be listed in the reply to of the email.
ReplyTo RolesA list of roles to match with users. Any user that has any of the listed roles will have their email listed in the reply to of the email that gets sent out.
SubjectThe subject of the Email. The Subject property is constructed using the expression language.
Attachment FilenameThe name of the attached report. The Attachment Filename property is constructed using the expression language.
BodyThe body of the email. The Body property is constructed using the expression language.

Configuring an Email Action

  1. In the Schedule panel, create a Schedule to automatically email a report by clicking on the plus icon , if you don't already have one.  
  2. Next, click on the Actions tab.
  3. Click on the plus icon , and select the New Email Action from the dropdown list.
  4. Enter the sender's email address in the From Address field. 
  5. Select the Mail Server from the dropdown list.  If one does not exist, click the 'Create new server' link to create one. 
  6. Select the Format from the dropdown list.
  7. Enter the number of Retry attempts in the event the email failed to be delivered the first time.
  8. You can send emails to users using either Email Addresses or User Roles. Under Address Source enter either Email Addresses or User Roles
    Note, email recipients can choose to reply to the email if they prefer, since the email address is added to the 'Reply To" header of the email.
    1. Email Addresses - enter individual email addresses under in the Recipient and ReplyTo Emails area. To add multiple addresses, click the plus icon  on the right side of the window. Next, specify the Method of how to send the email: To, CC, BCC, or ReplyTo
    2. User Roles - select the User Source from the dropdown in the Recipient User Source field.  
      1. In the Recipient Roles field, begin typing a configured role and Ignition will validate it. 
      2. In the Reply to User Source, select the User Source from the dropdown. (Optional)
      3. In the RepyTo Roles field, enter the role(s) you want listed in the 'ReplyTo' header of the email. (Optional)
  9. Enter in values for the SubjectAttachment Filename, and Body fields, or use the defaults.

Recipients and ReplyTo Emails

Recipients Source - User Roles

Run Script Action

This Run Script Action allows you to store your report in a database, provide special email code, or anything else you can think of. Run Script exposes the function handleFinishedReport() which gives you the report name and path, a mapping of the report parameters and datasets, and the bytes in whatever format you want. 

Here are a list of property descriptions for the Run Script Action.

Property NameProperty Description
Run ScriptAn area where a script can be created to do something at the scheduled time.
FormatThe file format that the reportBytes parameter should be.


Scheduling - Run Script


The handleFinishedReport function has the following arguments:

  • String reportName The name of the report for which this script should run.
  • String reportPath - The path to the report in your project.
  • PyDictionary dataMap - The Python Dictionary containing the Parameters and Data Sources that were supplied to the report. This argument allows you to directly access Parameters and Data Sources in the report. Note that once handleFinishedReport() has been called, the report has already been generated, so changing the parameters from this function will not alter the resulting report. Instead, parameters should be altered from the Parameters tab. 
  • byte[] reportBytes - The report, presented in a byte array. The format of the report depends on the format specified in the Format dropdown list. 

The dataMap Argument

There is a special argument  in the RunScript Action called dataMap that may be used to review the raw data that was used to generate the report. Below is a demonstration of using dataMap.

Using dataMap
# The dataMap argument is simply a Python Dictionary with the name of each Parameter and Data Source acting as a key.

# Assuming a Report Parameter named 'shift', the value of 'shift' may be accessed with the following

# Similar syntax may be used to extract the value from a Data Source. 
data = dataMap['myDataSource']

# Rows objects, while similar in nature to a dictionary, are different objects.

# Individual rows in the Data Source may be accessed by index.
firstRow = data[0]

# getKeys() may be called on a row to list all of the column headers in the row. 
firstHeader = firstRow.getKeys()[0]

# getKeyValue() may be used to access the value of a column in the row.
firstColumnInRow = firstRow.getKeyValue(firstHeader)

  • No labels