A Tasklist is a YAML document (file name must end with .yaml) that resides in a top-level directory of a collection. The YAML file containing a tasklist can optionally contain any jinja constructs.
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
description |
text | No | Tasklist description |
version |
text | No | Tasklist version |
tasks |
array | Yes | An ordered list of tasks |
Notes:
- A tasklist must contain at least one task.
descriptionandversionmay be used for documentation but otherwise have no effect
A task is of a type and has name, an optional connection target and a specific task definition.
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
name |
text | Yes | A descriptive name. Recommended to be unique |
connect |
enum | No | Can be either source or transcend |
| taskdef | dict | Yes | Any of the supported task types |
Run one SQL statement
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
sql |
text | Maybe | SQL text. Mutually exclusive with sqlfile |
sqlfile |
path | Maybe | A file name that holds the SQL text |
Run one SQL statement, and save data to a file in CSV format
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
sql |
text | Maybe | SQL text. Mutually exclusive with sqlfile |
sqlfile |
path | Maybe | A file name that holds the SQL text |
file |
path | Yes | Output file name |
Read CSV formatted data and store the contents into the named table. Notes:
- Table must exist
- Existing data is not cleared before inserting new data
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
file |
path | Yes | Input file name |
table |
text | Yes | table name to load data into |
Copy files from the input directory to the output directory
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
files |
array of path | Yes | name of the files to be copied |
Call a stored procedure
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
proc |
text | Yes | name of the stored-procedure |
params |
array | No | optional parameters to pass to the stored-procedure |
Run an application, typically a python script, that creates a chart
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
command |
text | Yes | name of the command (Python script name) |
params |
array | No | optional parameters to pass to the command |
Run an application, typically a python script
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
command |
text | Yes | name of the command (Python script name) |
params |
array | No | optional parameters to pass to the command |
Build a PowerPoint from a template
Attributes:
| Name | Type | Required? | Purpose |
|---|---|---|---|
file |
path | Yes | location of the PowerPoint template |
Built-in variables and functions are available globally in all jinja templates without being explicitly defined.
dirs is an object that defines following attributes for static directory paths:
dirs.home: User's home directorydirs.cwd: Application's current working directorydirs.systasks: Base directory that contains bundled system collections
dbc is an object with attributes that evaluates DBQL table names dynamically depending on availability of PDCR support. Availability of PDCR can be overridden (default true) by defining pdcr variable for applicable source systems.
For example, jinja expression {{ dbc.DBQLogTbl }} evaluates to PDCRInfo.DBQLogTbl_Hst when PDCR is available, otherwise it'll evaluate to dbc.DBQLogTbl.
dbc object also has a special attribute logdt, and a function logdate(<alias>). Jina expression {{ dbc.logdt }} evaluates to LogDate for systems that support PDCR, or CAST(CollectTimeStamp AS DATE) for systems that do not have PDCR support. While logdt is an attribute, logdate() is a function that allows using an alias within an expression. For example, {{ dbc.logdate('A') }} evaluates to CAST(A.CollectTimeStamp AS DATE). Alias may be necessary if an unqualified reference to CollectTimeStamp is ambiguous.
dbc object recognizes the following short-names and expands them to the corresponding long names. For example, {{ dbc.sql }} evaluates to either dbc.DBQLSqlTbl for dbc, or PDCRInfo.DBQLSqlTbl_Hst for pdcr
| Short name | Long name |
|---|---|
expl |
DBQLExplainTbl |
obj |
DBQLObjTbl |
log |
DBQLogTbl |
param |
DBQLParamTbl |
sql |
DBQLSqlTbl |
step |
DBQLStepTbl |
summary |
DBQLSummaryTbl |
utility |
DBQLUtilityTbl |
xmllock |
DBQLXMLLockTbl |
xml |
DBQLXMLTbl |
sawt |
ResUsageSawt |
scpu |
ResUsageScpu |
shst |
ResUsageShst |
sldv |
ResUsageSldv |
smhm |
ResUsageSmhm |
spdsk |
ResUsageSpdsk |
spma |
ResUsageSpma |
sps |
ResUsageSps |
svdsk |
ResUsageSvdsk |
svpr |
ResUsageSvpr |
pyformat is Jinja filter which is aliased to Python's format() function. This filter behaves differently from Jinja's built-in filter format().