Job Step Plugins
Job Step Plugins
Jobs are composed of steps that define the actions to be taken against target nodes, tools or data.
Understanding Step Types
There are two fundamental types of steps in Runbook Automation Jobs, and understanding the distinction is critical for building effective workflows:
Node Steps
Node Steps are designed to iterate across one or more target endpoints and execute once for each matched node.
Characteristics:
- Execute on each node that matches the Job's node filter
- Run in a Node Context with access to node-specific variables (
node.hostname,node.name, etc.) - Capture data in Node Scope, meaning each node can have different values for the same variable
- Examples: Commands, scripts, file operations, node-specific API calls
Common Node Steps:
- Execute a command on multiple servers
- Run a script against a database cluster
- Copy files to remote nodes
- Query node-specific metrics
Variable Scoping: When a Node Step captures data (via log filters), that data is stored in the Node's scope. To reference data from a specific node, use: ${data.variable@nodename}. To collect values from all nodes, use: ${data.variable*}.
See Job Variables Reference - Node Scope for more details.
Workflow Steps
Workflow Steps execute exactly once per Job invocation and do not operate in a node context.
Characteristics:
- Execute only once, regardless of how many nodes are targeted
- Run on the Rundeck server (not dispatched to remote nodes)
- Run in a Global Context without access to node-specific variables
- Can access data from Node Steps, but must specify which node's data to use
- Examples: Orchestration logic, global state changes, API integrations
Common Workflow Steps:
- Update a load balancer configuration
- Send notifications
- Refresh the project's node cache
- Export captured data from multiple nodes
- Make decisions based on aggregate node results
Variable Scoping: Workflow Steps capture data in Global Scope, making it available to all subsequent steps. To access Node Scope data from a Workflow Step, you must explicitly reference it: ${data.variable@nodename} or collect all values: ${data.variable*}.
See Job Variables Reference - Global Scope for more details.
Execution Order
The order in which steps execute is determined by the Workflow Strategy:
- Node-First Strategy (default): Each node runs all steps before moving to the next node
- Sequential Strategy: Each step runs on all nodes before moving to the next step
- Parallel Strategy: Steps run simultaneously across nodes
When mixing Node Steps and Workflow Steps (which is common):
- Node Steps may execute multiple times (once per node)
- Workflow Steps execute only once
- The execution order follows the workflow strategy
- Workflow Steps can access aggregated data from all Node Steps that executed before them
Example Workflow:
Step 1: Node Step - Check disk space on all web servers
Step 2: Workflow Step - Determine which server has the most free space
Step 3: Node Step - Deploy application to the server with most space
Step 4: Workflow Step - Update load balancer to include new deployment
For more information on building workflows, see Job Workflows.
Node Steps
- AWS Node Steps
- Azure Node Step Plugins (Commercial)
- Google Cloud Platform Plugins (Commercial)
- Oracle Cloud Node Steps plugins (Commercial)
- Datadog Node Step Plugins (Commercial)
- Jira Node Step Plugins (Commercial)
- Sensu Node Step Plugins (Commercial)
- SQL Runner (Commercial)
- VMWare Operations Node Step Plugin (Commercial)
- Command step
- Script step
- Script file
- Script URL
- Job reference
- Copy file
- Local command
- Data node
- HTTP Request
- Loop Script Plugins (Commercial)
Workflow Steps
- Amazon Web Services (Enterprise Only)
- Azure Job Steps (Commercial)
- Google Cloud Platform (Commercial)
- Oracle Cloud Infrastructure(Commercial)
- Datadog Workflow Step Plugins (Commercial)
- File Transfer (Commercial)
- Github (Commercial)
- Jira Workflow Step Plugins (Commercial)
- PagerDuty (Commercial)
- Progress Badge (Commercial)
- Sensu Workflow Step Plugins (Commercial)
- ServiceNow (Commercial)
- VMWare Step Plugins (Commercial)
- Ansible module
- Ansible playbook inline
- Ansible playbook
- Global variable
- Flow control
- Job state conditional
- Log data step
- Refresh project nodes
- Data step
- Sumo Logic (Commercial)
- Loop Script Plugins (Commercial)
- RSS Feed Plugin (Commercial)
- MongoDB Command Runner
Notifications
Notification plugins allow Rundeck to communicate changes in job execution state and notify other users of successful or failed runs. For a general explanation on how job notifications work, see Job Notifications.
- Jira Notification Plugins (Commercial)
- Datadog Notification Plugin (Commercial)
- PagerDuty Notification Plugin (Commercial)
- ServiceNow Notification Plugin (Commercial)
- Slack Notification Plugin (Commercial)
- Webhooks
For directions on how to use the Notification interface, see here.
Option Plugins
Option Plugins provide dynamic Allowed Value lists to help choose the proper inputs for your jobs. For general overview of how Options work see Job Options
Workflow Strategy
The Workflow Strategy determines how the steps are processed within a Job's Workflow.
Node Orchestrator
Typically, Rundeck processes nodes in the exact order that they are specified within a Job definition. An Orchestrator Plugin allows this run order to be modified by selecting a subset of nodes. This would be useful in order to limit concurrent executions during a deployment or gradually role out a new job to allow for testing.
The Bundled plugins support random selection, ordering by ranked tier, or specifying a percentage of nodes to target. If more logic or specificity is required, the Enterprise edition supports the selection of a single node based upon the value of an attribute.
Log Filters
Log Filters can transform or aggregate output from one or more Workflow states.
- Mask Passwords
- Render Formatted Data
- Key Value Data
- Quiet Output
- Highlight Output
- Progress Badge
- Store and Validate JSON (Commercial)
Content Converters
Content Converters are not added directly to Jobs, but can be used by Log Filters and Step plugins to render log output as HTML or Markdown within the Rundeck User Interface.
See Content Converter Plugins.