Skip to content

Breaking OSCI: GitHub's latest changes in event data model #226

@ihrigb

Description

@ihrigb

GitHub recently introduced changes to some event models that cause the OSCI to break: https://github.blog/changelog/2025-08-08-upcoming-changes-to-github-events-api-payloads/

The commits field (and others) of $.payload was removed. Therefore author's emails are no longer available and OSCI is broken.

An alternative could be the "Compare two commits" API (https://docs.github.com/en/rest/commits/commits?apiVersion=2022-11-28#compare-two-commits), but that would cause a lot of API calls with the problem of authorization, throttling, rate limiting and all that.

Example for old JSON model:

{
    "actor": {
        "avatar_url": "https://avatars.githubusercontent.com/u/3818096?",
        "display_login": "trungnd1",
        "gravatar_id": "",
        "id": 3818096,
        "login": "trungnd1",
        "url": "https://api.github.com/users/trungnd1"
    },
    "created_at": "2025-10-07T14:00:00Z",
    "id": "55724142856",
    "payload": {
        "before": "61bd13403c1677be260b32ed1a61de586475aeb3",
        "commits": [
            {
                "author": {
                    "email": "[email protected]",
                    "name": "trungnd1"
                },
                "distinct": true,
                "message": "feat: Improve debug info panel layout\n\nRefactors the debug info panel to use a fixed, bottom-aligned layout with improved styling. This makes the panel more accessible and less obtrusive while still providing essential debugging information.",
                "sha": "7d0cba3af297f201f34a2cfa2bb3c972c04f5309",
                "url": "https://api.github.com/repos/trungnd1/ai-business-portrait-generator/commits/7d0cba3af297f201f34a2cfa2bb3c972c04f5309"
            }
        ],
        "distinct_size": 1,
        "head": "7d0cba3af297f201f34a2cfa2bb3c972c04f5309",
        "push_id": 27325310385,
        "ref": "refs/heads/main",
        "repository_id": 1070079734,
        "size": 1
    },
    "public": true,
    "repo": {
        "id": 1070079734,
        "name": "trungnd1/ai-business-portrait-generator",
        "url": "https://api.github.com/repos/trungnd1/ai-business-portrait-generator"
    },
    "type": "PushEvent"
}

Example for new JSON model (missing the commits field in payload:

{
    "actor": {
        "avatar_url": "https://avatars.githubusercontent.com/u/108220804?",
        "display_login": "abujobayer0",
        "gravatar_id": "",
        "id": 108220804,
        "login": "abujobayer0",
        "url": "https://api.github.com/users/abujobayer0"
    },
    "created_at": "2025-10-30T00:00:00Z",
    "id": "5570150627",
    "payload": {
        "before": "098c0d7cee2fb852e1042e85568b98e64fde886c",
        "head": "b564050fdde40ec4a501dbf997ebd1410bfebbdc",
        "push_id": 27861402499,
        "ref": "refs/heads/main",
        "repository_id": 965587249
    },
    "public": true,
    "repo": {
        "id": 965587249,
        "name": "abujobayer0/Abu-Talha-Portfolio-Frontend",
        "url": "https://api.github.com/repos/abujobayer0/Abu-Talha-Portfolio-Frontend"
    },
    "type": "PushEvent"
}

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