epam / epam/OSCI

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

Open
#226 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
190
Forks
112
PR merge metrics
No merged PRs in 30d

Description

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:**
```json
{
"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": "trungnguyen09@gmail.com",
"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`:**
```json
{
"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"
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.