[Schema Inaccuracy] 2026-03-10 pull_request webhook payloads are missing merge_commit_sha

Open Beginner friendly
#6,344 1 comment 0 reactions 0 assignees View on GitHub

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

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

documentation

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from github/rest-api-description

All issues in github/rest-api-description

Similar issues

More Backend & API Design issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.