Skip to content

Version v7.5.0 introduced an undocumented breaking change in the webhook lambda (publishOnEventBridge) #5142

Description

@andrecastro

Before v7.5.0, publishOnEventBridge supported GitHub events beyond workflow_job, including workflow_run. That behavior was useful for analytics use cases because it allowed us to attach additional consumers to the EventBridge bus, capture a broader set of webhook events, and forward them to downstream systems such as OpenSearch. That is one of the main advantages of the EventBridge strategy.

Since the changes in #5030, a workflow_run event now causes the lambda to fail with an unhandled exception:

{
    "level": "ERROR",
    "message": "Failed to handle webhook event",
    "timestamp": "2026-06-01T18:25:00.172Z",
    "service": "test-webhook",
    "sampling_rate": 0,
    "xray_trace_id": "1-6a1dce7c-5d873ea23e35935745dc2a10",
    "region": "us-west-2",
    "environment": "N/A",
    "aws-request-id": "7398f0f2-6277-4faa-baad-1ce2674a7ad9",
    "function-name": "test-webhook",
    "module": "lambda.ts",
    "error": {
        "name": "TypeError",
        "location": "file:///var/task/index.js:49559",
        "message": "Cannot read properties of undefined (reading 'name')",
        "stack": "TypeError: Cannot read properties of undefined (reading 'name')\n    at readEvent (file:///var/task/index.js:49559:38)\n    at publishOnEventBridge (file:///var/task/index.js:49476:27)\n    at async BufferedInvokeProcessor.eventBridgeWebhook [as handler] (file:///var/task/index.js:51517:18)\n    at async BufferedInvokeProcessor.processInvoke (file:///var/runtime/index.mjs:1092:22)\n    at async _Runtime.processSingleConcurrent (file:///var/runtime/index.mjs:1178:7)\n    at async _Runtime.start (file:///var/runtime/index.mjs:1165:7)\n    at async ignition (file:///var/runtime/index.mjs:1634:5)"
    }
}

From what I can tell, the changes in #5030 do not add functional value beyond logging improvements, and they appear to have narrowed supported event handling in the process. If the goal was only to enhance logging, that should be implemented without breaking support for non-workflow_job events that were previously accepted by publishOnEventBridge.

Expected behavior: publishOnEventBridge should continue to handle events such as workflow_run.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions