fix(16): repair broken connections, auth credentials, and dead code across 4 workflows

Phase 16 plans 16-02 through 16-05 introduced three classes of defects:

1. Connection keys used node IDs instead of node names (33 broken links
   across n8n-workflow.json, n8n-batch-ui.json, n8n-actions.json)
2. GraphQL HTTP nodes used $env.UNRAID_API_KEY manual headers instead of
   Header Auth credential, causing CSRF/UNAUTHENTICATED errors (20 nodes)
3. Duplicate node name "Execute Batch Update" (serial vs parallel paths)

Also fixes Build Cancel Return Submenu using $input.item.json instead of
$('Prepare Cancel From Confirm').item.json after GraphQL query chain.

Removes 12 dead/orphan nodes (6 pre-migration dead code chains,
6 unused utility templates). Node count: 193 -> 181.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Lucas Berger
2026-02-09 11:29:40 -05:00
parent c002ba8fd9
commit 216f3a406a
4 changed files with 259 additions and 574 deletions
+31 -22
View File
@@ -77,17 +77,13 @@
"parameters": {
"method": "POST",
"url": "={{ $env.UNRAID_HOST }}/graphql",
"authentication": "none",
"authentication": "genericCredentialType",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "x-api-key",
"value": "={{ $env.UNRAID_API_KEY }}"
}
]
},
@@ -96,7 +92,8 @@
"jsonBody": "={\"query\": \"query { docker { containers { id names state image imageId } } }\"}",
"options": {
"timeout": 15000
}
},
"genericAuthType": "httpHeaderAuth"
},
"id": "http-query-containers",
"name": "Query All Containers",
@@ -106,7 +103,13 @@
560,
400
],
"onError": "continueRegularOutput"
"onError": "continueRegularOutput",
"credentials": {
"httpHeaderAuth": {
"id": "unraid-api-key-credential-id",
"name": "Unraid API Key"
}
}
},
{
"parameters": {
@@ -152,17 +155,13 @@
"parameters": {
"method": "POST",
"url": "={{ $env.UNRAID_HOST }}/graphql",
"authentication": "none",
"authentication": "genericCredentialType",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "x-api-key",
"value": "={{ $env.UNRAID_API_KEY }}"
}
]
},
@@ -171,7 +170,8 @@
"jsonBody": "={{ {\"query\": \"query { docker { containers(filter: { id: \\\"\" + $json.containerId + \"\\\" }) { id names state image imageId } } }\"} }}",
"options": {
"timeout": 15000
}
},
"genericAuthType": "httpHeaderAuth"
},
"id": "http-query-single",
"name": "Query Single Container",
@@ -181,7 +181,13 @@
560,
300
],
"onError": "continueRegularOutput"
"onError": "continueRegularOutput",
"credentials": {
"httpHeaderAuth": {
"id": "unraid-api-key-credential-id",
"name": "Unraid API Key"
}
}
},
{
"parameters": {
@@ -226,17 +232,13 @@
"parameters": {
"method": "POST",
"url": "={{ $env.UNRAID_HOST }}/graphql",
"authentication": "none",
"authentication": "genericCredentialType",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "x-api-key",
"value": "={{ $env.UNRAID_API_KEY }}"
}
]
},
@@ -245,7 +247,8 @@
"jsonBody": "={{ {\"query\": $json.query} }}",
"options": {
"timeout": 60000
}
},
"genericAuthType": "httpHeaderAuth"
},
"id": "http-update-container",
"name": "Update Container",
@@ -255,7 +258,13 @@
1320,
300
],
"onError": "continueRegularOutput"
"onError": "continueRegularOutput",
"credentials": {
"httpHeaderAuth": {
"id": "unraid-api-key-credential-id",
"name": "Unraid API Key"
}
}
},
{
"parameters": {
@@ -1091,4 +1100,4 @@
"settings": {
"executionOrder": "v1"
}
}
}