Provides reporting and status information to a script. ReportingContext, ComponentLog, and VirtualMachineMetrics objects are made available as variables (context, log, and vmMetrics, respectively) to the script for further processing. The context makes various information available such as events, provenance, bulletins, controller services, process groups, Java Virtual Machine metrics, etc.


reporting, script, execute, groovy, python, jython, jruby, ruby, javascript, js, lua, luaj


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Name Default Value Allowable Values Description
Script Engine Clojure * Clojure * ECMAScript * Groovy * lua * python * ruby The engine to execute scripts
Script File Path to script file to execute. Only one of Script File or Script Body may be used Supports Expression Language: true
Script Body Body of script to execute. Only one of Script File or Script Body may be used
Module Directory Comma-separated list of paths to files and/or directories which contain modules required by the script. Supports Expression Language: true

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.




A script engine property to update The value to set it to Updates a script engine property specified by the Dynamic Property's key with the value specified by the Dynamic Property's value Supports Expression Language: true

State management:
This component does not store state.
Provides operator the ability to execute arbitrary code assuming all permissions that NiFi has.