Reference · Tools
Rundeck
Execute jobs and retrieve job metadata from a Rundeck runbook automation server.
The Rundeck node executes jobs on a Rundeck automation server and retrieves job metadata. A typical build is triggering an operational runbook from a workflow — a restart, a cleanup, a scripted remediation — and recording that it ran.
- Node type
- Action
- Parameters
- 7
- Outputs
- Output, Error
- Credentials
- Rundeck API
Rundeck
Execute jobs and retrieve metadata from Rundeck.
Overview
Rundeck is a runbook automation and job scheduler. This tool allows executing Rundeck jobs by ID with optional arguments and node filters, and retrieving job metadata. It connects to a Rundeck server instance via its REST API using an API token for authentication.
Category: Communication
Tool Name: rundeck
Version: 1
Appearance: Icon: lucide-Wrench | Color: #F73F39
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Rundeck API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Job | job |
Operations
| Operation | Value | Description |
|---|---|---|
| Job: Execute | execute | Execute a job |
| Job: Get Metadata | getMetadata | Get metadata of a job |
Parameters
Job: Execute
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Job ID | string | Yes | — | The UUID of the Rundeck job to execute. Supports expressions. |
| Arguments | fixedCollection | No | {} | Key-value pairs to pass as job options. Each becomes “-name value” in the argString. |
| — Name | string | No | — | The argument name (without the leading dash). |
| — Value | string | No | — | The argument value. Supports expressions. |
| Filter | string | No | — | Filter Rundeck nodes by name or expression (e.g. “tags: web”). Supports expressions. |
Job: Get Metadata
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Job ID | string | Yes | — | The UUID of the Rundeck job to retrieve metadata for. Supports expressions. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item is produced per input item, on the Output port. The Rundeck response is merged onto the item JSON at the top level — it is not nested under a wrapper property — so the rest of the incoming item passes through unchanged and response fields are addressed directly, for example {{ $json.id }}. Binary data on the input item is forwarded untouched. Neither operation fans out: one input item always yields exactly one output item.
| Operation | What lands on the item |
|---|---|
execute | Rundeck’s response to the run request, describing the execution it created. |
getMetadata | Rundeck’s stored definition of the job, as its API returns it. |
An HTTP error from the Rundeck server raises an item error carrying the status code and the server’s response body. Failures go to the Error port in errorPort mode, carrying _error.
Usage Examples
- Execute a Rundeck job with arguments
- Get metadata for a Rundeck job
- Run a deployment job on filtered nodes
Example Configuration
Run a job by its UUID with no options:
{
"type": "rundeck",
"parameters": {
"resource": "job",
"operation": "execute",
"jobid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
Pass job options as arguments, taking one of the values from the incoming item:
{
"type": "rundeck",
"parameters": {
"resource": "job",
"operation": "execute",
"jobid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"arguments": {
"arguments": [
{ "name": "environment", "value": "production" },
{ "name": "version", "value": "{{ $json.releaseTag }}" }
]
}
}
}
Restrict a deployment job to the nodes that match a filter, and keep the request rate low:
{
"type": "rundeck",
"parameters": {
"resource": "job",
"operation": "execute",
"jobid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"arguments": {
"arguments": [
{ "name": "deploy_type", "value": "rolling" },
{ "name": "timeout", "value": "300" }
]
},
"filter": "tags: web",
"maxConcurrency": 5
}
}
Read a job’s metadata instead of running it:
{
"type": "rundeck",
"parameters": {
"resource": "job",
"operation": "getMetadata",
"jobid": "{{ $json.jobId }}"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Execute Rundeck jobs or retrieve job metadata from a Rundeck automation server.
Notes
- Arguments are concatenated into a single argString in the order you list them, each rendered as
-name value. An entry with an empty Name is skipped, so keep the Name field filled. - Filter applies only to
execute; it selects which Rundeck nodes the job runs on and has no effect ongetMetadata. - Both operations take the same Job ID field, so switching between Execute and Get Metadata keeps the UUID you already entered.
Frequently asked questions
How are arguments passed to a job?
They are concatenated into a single argString in the order you list them, each rendered as `-name value`. An entry with an empty Name is skipped, so keep the Name field filled.
What does Filter do?
It selects which Rundeck nodes the job runs on, and applies only to execute — it has no effect on getMetadata.
Do both operations use the same Job ID field?
Yes, which means switching operation keeps the job you already selected rather than making you re-enter it.
Which credential does it need?
A Rundeck API credential for the server you are targeting.
Build with the Rundeck node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Rundeck API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.