Skip to content

[Schema Inaccuracy] Missing allow_auto_merge in repos/update request body on GHES #6902

Description

@rahulsom

Schema Inaccuracy

This is the API

#/paths/~1repos~1{owner}~1{repo}/patch

The request body schema

#/paths/~1repos~1{owner}~1{repo}/patch/requestBody/content/application~1json/schema

is missing the allow_auto_merge property on every GHES description. It is present on fpt and ghec, but absent from ghes-3.17 through ghes-3.21.

GHES does accept the field. Two things in the same GHES descriptions already imply it:

  • #/paths/~1orgs~1{org}~1repos/post/requestBody/content/application~1json/schema/properties/allow_auto_merge — you can set it at repository creation.
  • #/components/schemas/full-repository/properties/allow_auto_merge — it is reported back on reads, including in the 200 response of this very PATCH.

So a repository can be created with auto-merge enabled and its current value can be read, but per the description there is no documented way to change it afterwards. The GHES web documentation for "Update a repository" does list allow_auto_merge as a body parameter, e.g. https://docs.github.com/en/enterprise-server@3.18/rest/repos/repos#update-a-repository

Expected

allow_auto_merge is present in the PATCH /repos/{owner}/{repo} request body schema for the GHES descriptions, matching fpt and ghec:

"allow_auto_merge": {
  "type": "boolean",
  "description": "Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge.",
  "default": false
}

Reproduction Steps

With GH CLI, run this against GHES. The response shows "allowAutoMerge": true, i.e. the undocumented field took effect.

gh api --method PATCH /repos/OWNER/REPO -F allow_auto_merge=true --jq .allow_auto_merge

To confirm the gap in the description itself:

jq '.paths["/repos/{owner}/{repo}"].patch.requestBody.content["application/json"].schema.properties | has("allow_auto_merge")' \
  descriptions-next/ghes-3.21/ghes-3.21.2022-11-28.json
# false

jq '.paths["/repos/{owner}/{repo}"].patch.requestBody.content["application/json"].schema.properties | has("allow_auto_merge")' \
  descriptions-next/ghec/ghec.2022-11-28.json
# true

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions