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:
+61
-154
@@ -220,7 +220,7 @@
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "={{ $env.UNRAID_HOST }}/graphql",
|
||||
"authentication": "none",
|
||||
"authentication": "genericCredentialType",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "{\"query\": \"query { docker { containers { id names state image } } }\"}",
|
||||
@@ -230,10 +230,6 @@
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"value": "={{ $env.UNRAID_API_KEY }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -244,7 +240,8 @@
|
||||
"errorHandling": "continueRegularOutput"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"id": "http-fetch-containers-mode",
|
||||
"name": "Fetch Containers For Mode",
|
||||
@@ -253,7 +250,13 @@
|
||||
"position": [
|
||||
680,
|
||||
100
|
||||
]
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "unraid-api-key-credential-id",
|
||||
"name": "Unraid API Key"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
@@ -316,7 +319,7 @@
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "={{ $env.UNRAID_HOST }}/graphql",
|
||||
"authentication": "none",
|
||||
"authentication": "genericCredentialType",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "{\"query\": \"query { docker { containers { id names state image } } }\"}",
|
||||
@@ -326,10 +329,6 @@
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"value": "={{ $env.UNRAID_API_KEY }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -340,7 +339,8 @@
|
||||
"errorHandling": "continueRegularOutput"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"id": "http-fetch-containers-toggle",
|
||||
"name": "Fetch Containers For Update",
|
||||
@@ -349,7 +349,13 @@
|
||||
"position": [
|
||||
1120,
|
||||
100
|
||||
]
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "unraid-api-key-credential-id",
|
||||
"name": "Unraid API Key"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
@@ -368,7 +374,7 @@
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "={{ $env.UNRAID_HOST }}/graphql",
|
||||
"authentication": "none",
|
||||
"authentication": "genericCredentialType",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "{\"query\": \"query { docker { containers { id names state image } } }\"}",
|
||||
@@ -378,10 +384,6 @@
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"value": "={{ $env.UNRAID_API_KEY }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -392,7 +394,8 @@
|
||||
"errorHandling": "continueRegularOutput"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"id": "http-fetch-containers-exec",
|
||||
"name": "Fetch Containers For Exec",
|
||||
@@ -401,7 +404,13 @@
|
||||
"position": [
|
||||
680,
|
||||
400
|
||||
]
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "unraid-api-key-credential-id",
|
||||
"name": "Unraid API Key"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
@@ -433,7 +442,7 @@
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "={{ $env.UNRAID_HOST }}/graphql",
|
||||
"authentication": "none",
|
||||
"authentication": "genericCredentialType",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "{\"query\": \"query { docker { containers { id names state image } } }\"}",
|
||||
@@ -443,10 +452,6 @@
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"value": "={{ $env.UNRAID_API_KEY }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -457,7 +462,8 @@
|
||||
"errorHandling": "continueRegularOutput"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"id": "http-fetch-containers-nav",
|
||||
"name": "Fetch Containers For Nav",
|
||||
@@ -466,7 +472,13 @@
|
||||
"position": [
|
||||
900,
|
||||
300
|
||||
]
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "unraid-api-key-credential-id",
|
||||
"name": "Unraid API Key"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
@@ -498,7 +510,7 @@
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "={{ $env.UNRAID_HOST }}/graphql",
|
||||
"authentication": "none",
|
||||
"authentication": "genericCredentialType",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "{\"query\": \"query { docker { containers { id names state image } } }\"}",
|
||||
@@ -508,10 +520,6 @@
|
||||
{
|
||||
"name": "Content-Type",
|
||||
"value": "application/json"
|
||||
},
|
||||
{
|
||||
"name": "x-api-key",
|
||||
"value": "={{ $env.UNRAID_API_KEY }}"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -522,7 +530,8 @@
|
||||
"errorHandling": "continueRegularOutput"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericAuthType": "httpHeaderAuth"
|
||||
},
|
||||
"id": "http-fetch-containers-clear",
|
||||
"name": "Fetch Containers For Clear",
|
||||
@@ -531,7 +540,13 @@
|
||||
"position": [
|
||||
900,
|
||||
500
|
||||
]
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "unraid-api-key-credential-id",
|
||||
"name": "Unraid API Key"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
@@ -687,7 +702,7 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Build Batch Keyboard",
|
||||
"node": "Normalize GraphQL Response (Mode)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
@@ -720,7 +735,7 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Rebuild Keyboard After Toggle",
|
||||
"node": "Normalize GraphQL Response (Toggle)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
@@ -731,7 +746,7 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Handle Exec",
|
||||
"node": "Normalize GraphQL Response (Exec)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
@@ -753,7 +768,7 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Rebuild Keyboard For Nav",
|
||||
"node": "Normalize GraphQL Response (Nav)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
@@ -775,25 +790,14 @@
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Rebuild Keyboard After Clear",
|
||||
"node": "Normalize GraphQL Response (Clear)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"http-fetch-containers-mode": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Normalize GraphQL Response (Mode)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-normalizer-mode": {
|
||||
"Normalize GraphQL Response (Mode)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
@@ -804,18 +808,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"http-fetch-containers-toggle": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Normalize GraphQL Response (Toggle)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-normalizer-toggle": {
|
||||
"Normalize GraphQL Response (Toggle)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
@@ -826,18 +819,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"http-fetch-containers-exec": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Normalize GraphQL Response (Exec)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-normalizer-exec": {
|
||||
"Normalize GraphQL Response (Exec)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
@@ -848,18 +830,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"http-fetch-containers-nav": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Normalize GraphQL Response (Nav)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-normalizer-nav": {
|
||||
"Normalize GraphQL Response (Nav)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
@@ -870,18 +841,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"http-fetch-containers-clear": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Normalize GraphQL Response (Clear)",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-normalizer-clear": {
|
||||
"Normalize GraphQL Response (Clear)": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
@@ -891,63 +851,10 @@
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"switch-route-batch-action": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch Containers For Mode",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[],
|
||||
[],
|
||||
[
|
||||
{
|
||||
"node": "Fetch Containers For Exec",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"if-needs-keyboard-update": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch Containers For Update",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-handle-nav": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch Containers For Nav",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"code-handle-clear": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch Containers For Clear",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"callerPolicy": "any"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user