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
Schema Inaccuracy
This is the API
The request body schema
is missing the
allow_auto_mergeproperty on every GHES description. It is present onfptandghec, but absent fromghes-3.17throughghes-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 the200response of this veryPATCH.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_mergeas a body parameter, e.g. https://docs.github.com/en/enterprise-server@3.18/rest/repos/repos#update-a-repositoryExpected
allow_auto_mergeis present in thePATCH /repos/{owner}/{repo}request body schema for the GHES descriptions, matchingfptandghec:Reproduction Steps
With GH CLI, run this against GHES. The response shows
"allowAutoMerge": true, i.e. the undocumented field took effect.To confirm the gap in the description itself: