Skip to main content

了解最近和即将发生的 GitHub GraphQL API 重大变更。

关于重大变更

重大变更是指可能需要集成商采取行动的任何变更。 我们将这些变更分为两类:

  • 中断性变更:会改变对 GraphQL API 的现有查询的变更。 例如,删除字段就是重大变更。
  • 危险变更:不会改变现有查询,但会影响客户端运行时的行为的变更。 添加枚举值就是一个危险变更示例。

我们将在更改 GraphQL 架构前至少三个月宣布即将发生的重大变更,以便给集成商预留进行必要调整的时间。 变更在季度第一天(1 月 1 日、4 月 1 日、7 月 1 日或 10 月 1 日)生效。 例如,如果我们在 1 月 15 日宣布变更,将在 7 月 1 日执行。

Changes scheduled for 2025-01-01

  • Breaking A change will be made to AddMobileDevicePublicKeyPayload.expiresAt.
    Description:

    expiresAt will be removed. Do not rely on this field, it is currently set to a date far in the future if a device key is expirationless

    Reason:

    We are deprecating expirations for mobile device keys used in mobile 2FA

Changes scheduled for 2024-10-01

  • Breaking A change will be made to Workflow.hasWorkflowDispatchTrigger.
    Description:

    hasWorkflowDispatchTrigger will be removed. Use has_workflow_dispatch_trigger_for_branch(branch_ref) instead.

    Reason:

    has_workflow_dispatch_trigger is being removed because it can be misleading and only checks a repository's default branch

Changes scheduled for 2024-07-01

  • Breaking A change will be made to PullRequestReviewComment.databaseId.
    Description:

    databaseId will be removed. Use fullDatabaseId instead.

    Reason:

    databaseId will be removed because it does not support 64-bit signed integer identifiers.

  • Breaking A change will be made to PullRequestReview.databaseId.
    Description:

    databaseId will be removed. Use fullDatabaseId instead.

    Reason:

    databaseId will be removed because it does not support 64-bit signed integer identifiers.

  • Breaking A change will be made to PullRequest.databaseId.
    Description:

    databaseId will be removed. Use fullDatabaseId instead.

    Reason:

    databaseId will be removed because it does not support 64-bit signed integer identifiers.

  • Breaking A change will be made to OrganizationInvitation.inviter.
    Description:

    inviter will be removed. inviter will be replaced by inviterActor.

    Reason:

    inviter will be removed.

Changes scheduled for 2024-04-01

  • Breaking A change will be made to TopicSuggestionDeclineReason.TOO_SPECIFIC.
    Description:

    TOO_SPECIFIC will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to TopicSuggestionDeclineReason.TOO_GENERAL.
    Description:

    TOO_GENERAL will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to TopicSuggestionDeclineReason.PERSONAL_PREFERENCE.
    Description:

    PERSONAL_PREFERENCE will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to TopicSuggestionDeclineReason.NOT_RELEVANT.
    Description:

    NOT_RELEVANT will be removed.

    Reason:

    Suggested topics are no longer supported

Changes scheduled for 2023-10-01

  • Breaking A change will be made to PullRequestReviewComment.position.
    Description:

    position will be removed. Use the line and startLine fields instead, which are file line numbers instead of diff line numbers

    Reason:

    We are phasing out diff-relative positioning for PR comments

  • Breaking A change will be made to PullRequestReviewComment.originalPosition.
    Description:

    originalPosition will be removed.

    Reason:

    We are phasing out diff-relative positioning for PR comments

  • Breaking A change will be made to AddPullRequestReviewInput.comments.
    Description:

    comments will be removed. use the threads argument instead

    Reason:

    We are deprecating comment fields that use diff-relative positioning

  • Breaking A change will be made to AddPullRequestReviewCommentInput.pullRequestReviewId.
    Description:

    pullRequestReviewId will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.pullRequestId.
    Description:

    pullRequestId will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.position.
    Description:

    position will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.path.
    Description:

    path will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.inReplyTo.
    Description:

    inReplyTo will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.commitOID.
    Description:

    commitOID will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

  • Breaking A change will be made to AddPullRequestReviewCommentInput.body.
    Description:

    body will be removed. use addPullRequestReviewThread or addPullRequestReviewThreadReply instead

    Reason:

    We are deprecating the addPullRequestReviewComment mutation

Changes scheduled for 2023-07-01

  • Breaking A change will be made to ProjectV2ItemFieldGroup.field.
    Description:

    field will be removed. Check out the ProjectV2ItemFieldGroup#groupByField API as an example for the more capable alternative.

    Reason:

    The ProjectV2ItemFieldGroup#field API is deprecated in favour of the more capable ProjectV2ItemFieldGroup#groupByField API.

  • Breaking A change will be made to Commit.pushedDate.
    Description:

    pushedDate will be removed.

    Reason:

    pushedDate is no longer supported.

Changes scheduled for 2023-04-01

  • Breaking A change will be made to Repository.squashPrTitleUsedAsDefault.
    Description:

    squashPrTitleUsedAsDefault will be removed. Use Repository.squashMergeCommitTitle instead.

    Reason:

    squashPrTitleUsedAsDefault will be removed.

  • Breaking A change will be made to ProjectV2View.verticalGroupBy.
    Description:

    verticalGroupBy will be removed. Check out the ProjectV2View#vertical_group_by_fields API as an example for the more capable alternative.

    Reason:

    The ProjectV2View#vertical_group_by API is deprecated in favour of the more capable ProjectV2View#vertical_group_by_fields API.

  • Breaking A change will be made to ProjectV2View.sortBy.
    Description:

    sortBy will be removed. Check out the ProjectV2View#sort_by_fields API as an example for the more capable alternative.

    Reason:

    The ProjectV2View#sort_by API is deprecated in favour of the more capable ProjectV2View#sort_by_fields API.

  • Breaking A change will be made to ProjectV2View.groupBy.
    Description:

    groupBy will be removed. Check out the ProjectV2View#group_by_fields API as an example for the more capable alternative.

    Reason:

    The ProjectV2View#order_by API is deprecated in favour of the more capable ProjectV2View#group_by_field API.

Changes scheduled for 2023-02-10

  • Breaking A change will be made to PackageType.MAVEN.
    Description:

    MAVEN will be removed.

    Reason:

    MAVEN will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

Changes scheduled for 2023-01-01

  • Breaking A change will be made to ProjectV2View.visibleFields.
    Description:

    visibleFields will be removed. Check out the ProjectV2View#fields API as an example for the more capable alternative.

    Reason:

    The ProjectV2View#visibleFields API is deprecated in favour of the more capable ProjectV2View#fields API.

  • Breaking A change will be made to Commit.changedFiles.
    Description:

    changedFiles will be removed. Use changedFilesIfAvailable instead.

    Reason:

    changedFiles will be removed.

Changes scheduled for 2022-12-28

  • Breaking A change will be made to PackageType.RUBYGEMS.
    Description:

    RUBYGEMS will be removed.

    Reason:

    RUBYGEMS will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

Changes scheduled for 2022-11-21

  • Breaking A change will be made to PackageType.NUGET.
    Description:

    NUGET will be removed.

    Reason:

    NUGET will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

  • Breaking A change will be made to PackageType.NPM.
    Description:

    NPM will be removed.

    Reason:

    NPM will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

Changes scheduled for 2022-10-01

  • Breaking A change will be made to RemovePullRequestFromMergeQueueInput.branch.
    Description:

    branch will be removed.

    Reason:

    PRs are removed from the merge queue for the base branch, the branch argument is now a no-op

  • Breaking A change will be made to DependencyGraphDependency.packageLabel.
    Description:

    packageLabel will be removed. Use normalized packageName field instead.

    Reason:

    packageLabel will be removed.

Changes scheduled for 2022-07-01

  • Breaking A change will be made to AddPullRequestToMergeQueueInput.branch.
    Description:

    branch will be removed.

    Reason:

    PRs are added to the merge queue for the base branch, the branch argument is now a no-op

Changes scheduled for 2021-10-01

  • Breaking A change will be made to ReactionGroup.users.
    Description:

    users will be removed. Use the reactors field instead.

    Reason:

    Reactors can now be mannequins, bots, and organizations.

Changes scheduled for 2021-06-21

  • Breaking A change will be made to PackageType.DOCKER.
    Description:

    DOCKER will be removed.

    Reason:

    DOCKER will be removed from this enum as this type will be migrated to only be used by the Packages REST API.

Changes scheduled for 2021-01-01

  • Breaking A change will be made to MergeStateStatus.DRAFT.
    Description:

    DRAFT will be removed. Use PullRequest.isDraft instead.

    Reason:

    DRAFT state will be removed from this enum and isDraft should be used instead

Changes scheduled for 2020-10-01

  • Breaking A change will be made to PullRequest.timeline.
    Description:

    timeline will be removed. Use PullRequest.timelineItems instead.

    Reason:

    timeline will be removed

  • Breaking A change will be made to Issue.timeline.
    Description:

    timeline will be removed. Use Issue.timelineItems instead.

    Reason:

    timeline will be removed

Changes scheduled for 2020-01-01

  • Breaking A change will be made to UnassignedEvent.user.
    Description:

    user will be removed. Use the assignee field instead.

    Reason:

    Assignees can now be mannequins.

  • Breaking A change will be made to AssignedEvent.user.
    Description:

    user will be removed. Use the assignee field instead.

    Reason:

    Assignees can now be mannequins.

Changes scheduled for 2019-04-01

  • Breaking A change will be made to LegacyMigration.uploadUrlTemplate.
    Description:

    uploadUrlTemplate will be removed. Use uploadUrl instead.

    Reason:

    uploadUrlTemplate is being removed because it is not a standard URL and adds an extra user step.