我在哪里可以找到 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
最近我写到 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