mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-09 22:24:05 -08:00
⚡ Add execution url on Error-Workflow trigger
This commit is contained in:
parent
284a6099f2
commit
075aca9497
|
@ -37,6 +37,7 @@ The "Error Trigger" node will trigger in case the execution fails and receives i
|
|||
{
|
||||
"execution": {
|
||||
"id": "231",
|
||||
"url": "https://n8n.example.com/execution/231",
|
||||
"retryOf": "34",
|
||||
"error": {
|
||||
"message": "Example Error Message",
|
||||
|
@ -56,6 +57,7 @@ The "Error Trigger" node will trigger in case the execution fails and receives i
|
|||
|
||||
All information is always present except:
|
||||
- **execution.id**: Only present when the execution gets saved in the Database
|
||||
- **execution.url**: Only present when the execution gets saved in the Database
|
||||
- **execution.retryOf**: Only present when the execution is a retry of a previously failed one
|
||||
|
||||
|
||||
|
|
|
@ -51,10 +51,17 @@ import * as config from '../config';
|
|||
*/
|
||||
function executeErrorWorkflow(workflowData: IWorkflowBase, fullRunData: IRun, mode: WorkflowExecuteMode, executionId?: string, retryOf?: string): void {
|
||||
// Check if there was an error and if so if an errorWorkflow is set
|
||||
|
||||
let pastExecutionUrl: string | undefined = undefined;
|
||||
if (executionId !== undefined) {
|
||||
pastExecutionUrl = `${WebhookHelpers.getWebhookBaseUrl()}execution/${executionId}`;
|
||||
}
|
||||
|
||||
if (fullRunData.data.resultData.error !== undefined && workflowData.settings !== undefined && workflowData.settings.errorWorkflow) {
|
||||
const workflowErrorData = {
|
||||
execution: {
|
||||
id: executionId,
|
||||
url: pastExecutionUrl,
|
||||
error: fullRunData.data.resultData.error,
|
||||
lastNodeExecuted: fullRunData.data.resultData.lastNodeExecuted!,
|
||||
mode,
|
||||
|
|
|
@ -33,9 +33,19 @@ export class ErrorTrigger implements INodeType {
|
|||
if (mode === 'manual' && items.length === 1 && Object.keys(items[0].json).length === 0 && items[0].binary === undefined) {
|
||||
// If we are in manual mode and no input data got provided we return
|
||||
// example data to allow to develope and test errorWorkflows easily
|
||||
|
||||
const restApiUrl = this.getRestApiUrl();
|
||||
|
||||
const urlParts = restApiUrl.split('/');
|
||||
urlParts.pop();
|
||||
urlParts.push('execution');
|
||||
|
||||
const id = 231;
|
||||
|
||||
items[0].json = {
|
||||
execution: {
|
||||
id: '231',
|
||||
id,
|
||||
url: `${urlParts.join('/')}/${id}`,
|
||||
retryOf: '34',
|
||||
error: {
|
||||
message: 'Example Error Message',
|
||||
|
|
Loading…
Reference in a new issue