diff --git a/core/server/services/webhooks/listen.js b/core/server/services/webhooks/listen.js index 261642a929..93aded8c15 100644 --- a/core/server/services/webhooks/listen.js +++ b/core/server/services/webhooks/listen.js @@ -38,6 +38,7 @@ function listener(event, model, options) { if (model) { payload = generatePayload(event, model); } + payload.event = event; // avoid triggering webhooks when importing if (options && options.importing) { diff --git a/core/server/services/webhooks/trigger.js b/core/server/services/webhooks/trigger.js index 87ed8d6f1e..e7e2cb4321 100644 --- a/core/server/services/webhooks/trigger.js +++ b/core/server/services/webhooks/trigger.js @@ -40,9 +40,11 @@ function makeRequests(webhooksCollection, payload, options) { common.logging.warn(`Unable to destroy webhook ${webhookId}`); }); } + let lastTriggeredError = err.statusCode ? '' : `Failed to send request to ${targetUrl}`; updateWebhookTriggerData(webhookId, { last_triggered_at: triggeredAt, - last_triggered_status: err.statusCode + last_triggered_status: err.statusCode, + last_triggered_error: lastTriggeredError }); common.logging.error(new common.errors.GhostError({ diff --git a/core/test/unit/services/webhooks_spec.js b/core/test/unit/services/webhooks_spec.js index fdf4c6327c..08151b443f 100644 --- a/core/test/unit/services/webhooks_spec.js +++ b/core/test/unit/services/webhooks_spec.js @@ -49,7 +49,8 @@ describe('Webhooks', function () { triggerArgs = webhooksStub.trigger.getCall(0).args; triggerArgs[0].should.eql('subscriber.added'); triggerArgs[1].should.deepEqual({ - subscribers: [testSubscriber] + subscribers: [testSubscriber], + event: 'subscriber.added' }); resetWebhooks(); @@ -74,7 +75,8 @@ describe('Webhooks', function () { triggerArgs = webhooksStub.trigger.getCall(0).args; triggerArgs[0].should.eql('subscriber.deleted'); triggerArgs[1].should.deepEqual({ - subscribers: [testSubscriber] + subscribers: [testSubscriber], + event: 'subscriber.deleted' }); resetWebhooks(); @@ -94,7 +96,9 @@ describe('Webhooks', function () { triggerArgs = webhooksStub.trigger.getCall(0).args; triggerArgs[0].should.eql('site.changed'); - triggerArgs[1].should.eql({}); + triggerArgs[1].should.eql({ + event: 'site.changed' + }); resetWebhooks(); });