[Schema Inaccuracy] Webhook auto merge for rebase commits

Open
#2,491 2 comments 1 reaction 1 assignee View on GitHub

@nickfloyd is already working on this.

Since Nov 6, 2025.

Assessment

This issue has not been assessed yet.

Description

feature inaccuracy P4

Schema Inaccuracy

auto_merge.commit_title and auto_merge.commit_message are nullable in practice, but not in the schema.

This is a real webhook from GitHub.com on 2023-04-21.

    "auto_merge": {
      "enabled_by": {
        "login": "zegl",
        "id": 47952,
        "node_id": "MDQ6VXNlcjQ3OTUy",
        "avatar_url": "https://avatars.githubusercontent.com/u/47952?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/zegl",
        "html_url": "https://github.com/zegl",
        "followers_url": "https://api.github.com/users/zegl/followers",
        "following_url": "https://api.github.com/users/zegl/following{/other_user}",
        "gists_url": "https://api.github.com/users/zegl/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/zegl/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/zegl/subscriptions",
        "organizations_url": "https://api.github.com/users/zegl/orgs",
        "repos_url": "https://api.github.com/users/zegl/repos",
        "events_url": "https://api.github.com/users/zegl/events{/privacy}",
        "received_events_url": "https://api.github.com/users/zegl/received_events",
        "type": "User",
        "site_admin": false
      },
      "merge_method": "rebase",
      "commit_title": null,
      "commit_message": null
    },

The schema looks like this:

      "auto-merge": {
        "title": "Auto merge",
        "description": "The status of auto merging a pull request.",
        "type": "object",
        "properties": {
          "enabled_by": {
            "$ref": "#/components/schemas/simple-user"
          },
          "merge_method": {
            "type": "string",
            "description": "The merge method to use.",
            "enum": [
              "merge",
              "squash",
              "rebase"
            ]
          },
          "commit_title": {
            "type": "string",
            "description": "Title for the merge commit message."
          },
          "commit_message": {
            "type": "string",
            "description": "Commit message for the merge commit."
          }
        },
        "required": [
          "enabled_by",
          "merge_method",
          "commit_title",
          "commit_message"
        ],
        "nullable": true
      },

This likely also applies to non webhook payloads.

Expected

commit_title and commit_message should be nullable.

Reproduction Steps

Trigger auto-merge with the rebase merge method, and watch the web hooks.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.