Skip to content

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

@aepifano-square

Description

@aepifano-square

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions