我在哪里可以找到 GitHub 的 GraphQL Api 中的类型更改

Where can I find out type changes in GitHub's GraphQL Api

最近我写到 archive/unarchive 存储库的一个脚本停止工作了。脚本的相关部分使用了这个 graphql:

mutation ArchiveRepository($mutationId: String!, $repoID: String!) {
    archiveRepository(input: {
        clientMutationId: $mutationId,
        repositoryId: $repoID
    })
    {
        repository {
            isArchived
        }
    }
}

这已经工作了几个月而没有任何代码更改。它最后一次工作于 2022-02-24,第一次失败于 2022-03-02,出现此错误:

{
    "errors": [{
        "path": [
            "mutation ArchiveRepository",
            "archiveRepository",
            "input",
            "repositoryId"
        ],
        "extensions": {
            "code": "variableMismatch",
            "variableName": "repoID",
            "typeName": "String!",
            "argumentName": "repositoryId",
            "errorMessage": "Type mismatch"
        }, "locations": [{
            "line": 4,
            "column": 9
        }],
        "message": "Type mismatch on variable $repoID and argument repositoryId (String! / ID!)"
    }]
}

改变突变类型:

- mutation ArchiveRepository($mutationId: String!, $repoID: String!) {
+ mutation ArchiveRepository($mutationId: String!, $repoID: ID!) {

问题已解决。

因此,根据经验,有一个向后不兼容的 API 更改在这两个日期之间生效。但是,我无法找到它的记录位置。 GitHub 通常非常擅长记录他们的更改,这让人怀疑。

GitHub announces breaking changes ahead of time and retains a historical changelog 还有。

此更改是否记录在任何官方位置(在我错过的 GitHub 自己的文档中,或者在 GitHub 使用的 GraphQL 规范或库等底层系统的文档中)?

是的,您是对的,看起来更改日志中遗漏了这一点。你可以举一个 GitHub issue.

这个特定的 Mutation 文档参考是根据我认为的代码自动生成的 ArchiveRepositoryInput