From 22063d01fd4f8cf33342ba5647bfe06b30b6c4fd Mon Sep 17 00:00:00 2001 From: LawyZheng Date: Fri, 11 Jul 2025 15:46:24 +0800 Subject: [PATCH] fix n8n (#2932) --- .../n8n/nodes/Skyvern/Skyvern.node.ts | 77 ++++++++----------- integrations/n8n/package-lock.json | 4 +- integrations/n8n/package.json | 2 +- 3 files changed, 37 insertions(+), 46 deletions(-) diff --git a/integrations/n8n/nodes/Skyvern/Skyvern.node.ts b/integrations/n8n/nodes/Skyvern/Skyvern.node.ts index 0d13c927..83c156d5 100644 --- a/integrations/n8n/nodes/Skyvern/Skyvern.node.ts +++ b/integrations/n8n/nodes/Skyvern/Skyvern.node.ts @@ -85,44 +85,41 @@ export class Skyvern implements INodeType { value: 'dispatchTask', action: 'Dispatch a task to execute asynchronously', description: 'Dispatch a task to execute asynchronously', - routing: { - request: { - baseURL: '={{$credentials.baseUrl}}', - method: 'POST', - url: '/v1/run/tasks', - }, - send: { - preSend: [ - async function ( - this: IExecuteSingleFunctions, - requestOptions: IHttpRequestOptions, - ): Promise { - const taskOptions = this.getNodeParameter('taskOptions') as IDataObject; - const legacy_engine = taskOptions['engine'] as string | null; - if (legacy_engine === 'v1') { - (requestOptions.body as IDataObject)['engine'] = 'skyvern-1.0'; - } else if (legacy_engine === 'v2') { - (requestOptions.body as IDataObject)['engine'] = 'skyvern-2.0'; - } - return requestOptions; - }, - ], - }, - }, }, { name: 'Get a Task', value: 'getTask', action: 'Get a task by ID', description: 'Get a task by ID', - routing: { - request: { - baseURL: '={{$credentials.baseUrl}}', - method: 'GET', - }, - }, }, ], + routing: { + request: { + baseURL: '={{$credentials.baseUrl}}', + method: '={{ $value === "dispatchTask" ? "POST" : "GET" }}' as IHttpRequestMethods, + url: '={{"/v1/run/tasks"}}', + }, + send: { + preSend: [ + async function ( + this: IExecuteSingleFunctions, + requestOptions: IHttpRequestOptions, + ): Promise { + const taskOperation = this.getNodeParameter('taskOperation'); + if (taskOperation === "getTask") return requestOptions; + + const taskOptions = this.getNodeParameter('taskOptions') as IDataObject; + const legacy_engine = taskOptions['engine'] as string | null; + if (legacy_engine === 'v1') { + (requestOptions.body as IDataObject)['engine'] = 'skyvern-1.0'; + } else if (legacy_engine === 'v2') { + (requestOptions.body as IDataObject)['engine'] = 'skyvern-2.0'; + } + return requestOptions; + }, + ], + }, + }, }, // Workflow Operations { @@ -143,27 +140,20 @@ export class Skyvern implements INodeType { value: 'getWorkflow', action: 'Get a workflow run by ID', description: 'Get a workflow run by ID', - routing: { - request: { - baseURL: '={{$credentials.baseUrl}}', - method: 'GET', - }, - }, }, { name: 'Dispatch a Workflow Run', value: 'dispatchWorkflow', action: 'Dispatch a workflow run to execute asynchronously', description: 'Dispatch a workflow run to execute asynchronously', - routing: { - request: { - baseURL: '={{$credentials.baseUrl}}', - method: 'POST', - url: '={{"/api/v1/workflows/" + $parameter["workflowId"] + "/run"}}', - }, - }, }, ], + routing: { + request: { + baseURL: '={{$credentials.baseUrl}}', + method: '={{ $value === "dispatchWorkflow" ? "POST" : "GET" }}' as IHttpRequestMethods, + }, + }, }, { displayName: 'User Prompt', @@ -385,6 +375,7 @@ export class Skyvern implements INodeType { }, routing: { request: { + url: '={{"/api/v1/workflows/" + $parameter["workflowId"] + "/run"}}', body: { data: '={{$value["value"]}}', }, diff --git a/integrations/n8n/package-lock.json b/integrations/n8n/package-lock.json index bd804c42..60490d28 100644 --- a/integrations/n8n/package-lock.json +++ b/integrations/n8n/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-nodes-skyvern", - "version": "0.0.6", + "version": "0.0.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-nodes-skyvern", - "version": "0.0.6", + "version": "0.0.7", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/integrations/n8n/package.json b/integrations/n8n/package.json index f0b77f54..a8331020 100644 --- a/integrations/n8n/package.json +++ b/integrations/n8n/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-skyvern", - "version": "0.0.6", + "version": "0.0.7", "description": "Skyvern Node for n8n", "keywords": [ "n8n-community-node-package"