[Schema Inaccuracy] 2026-03-10 pull_request webhook payloads are missing merge_commit_sha
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- github, openapi
- Domain
- api, backend-api-design
Research direction
Compare ghec.2026-03-10.json and api.github.com.2026-03-10.json with the 2022-11-28 schema, tracing webhook-pull-request-closed.pull_request through pull-request-webhook. Start with the pull-request and pull-request-webhook definitions, then verify that merge_commit_sha is present at webhook-pull-request-closed.pull_request.merge_commit_sha in both 2026-03-10 files.
Written by the indexing model from the issue text.
Description
Schema Inaccuracy
The 2026-03-10 spec files (ghec.2026-03-10.json and api.github.com.2026-03-10.json) remove merge_commit_sha from pull_request webhook payload schemas, but GitHub still delivers the field in live payloads — the webhook docs continue to list it as Required on pull_request payloads, and pull_request:closed consumers rely on it to determine which commit on the target branch a merged PR landed at.
Cause: webhook-pull-request-closed.pull_request is a $ref to pull-request-webhook, which is defined as:
"pull-request-webhook": {
"allOf": [
{ "$ref": "#/components/schemas/pull-request" },
{ "type": "object", "properties": { ... } }
]
}
So removing merge_commit_sha from pull-request (a deliberate REST breaking change in 2026-03-10) transitively removes it from every webhook schema that references pull-request-webhook, even though the webhook contract has not changed.
Expected
merge_commit_sha should be present on pull_request webhook payloads in the 2026-03-10 spec files, matching the runtime webhook contract and the 2022-11-28 spec. The flagship case to verify any fix against is webhook-pull-request-closed.pull_request.merge_commit_sha.
Reproduction Steps
$ curl -s https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/ghec/ghec.2022-11-28.json \
| jq '.components.schemas."pull-request".properties.merge_commit_sha'
{
"type": "string",
"example": "e5bd3914e2e596debea16f433f57875b5b90bcd6",
"nullable": true
}
$ curl -s https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/ghec/ghec.2026-03-10.json \
| jq '.components.schemas."pull-request".properties.merge_commit_sha'
null
- Dominant language
- No language data
- Stars
- 1.6k
- Forks
- 342
- Avg merge
- 3h 33m
- Merged PRs (30d)
- 51
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/rest-api-description
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
github/rest-api-description#7201 ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
github/rest-api-description#7163 ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/rest-api-description#7162 ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/rest-api-description#7135 ·
-
feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/rest-api-description#7111 · 1 comment ·
All issues in github/rest-api-description
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
kubernetes-sigs/kueue#15937 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·