Skip to main content

互換性に影響する変更

最近の、及び今後のGitHub GraphQL APIに対する破壊的変更について学んでください。

破壊的変更について

破壊的変更は、インテグレーターからのアクションが必要になるかもしれない変更です。 これらの変更は、2つに分類されます。

  • 破壊的: GraphQL API に対する既存のクエリを損なう変更。 たとえば、フィールドの削除は破壊的変更です。
  • 危険: 既存のクエリを損なうことはないものの、クライアントの実行時の振る舞いに影響するかもしれない変更。 enum値の追加は危険な変更の例です。

今後の破壊的変更のアナウンスは、遅くてもGraphQLスキーマに対して変更を行う3ヶ月前にアナウンスを行い、インテグレーターに必要な調整を行う時間を提供します。 変更は、四半期の初日(1月1日、4月1日、7月1日、10月1日)に適用されます。 たとえば、変更を1月115日にアナウンスした場合、その変更は7月1日に行われます。

Changes scheduled for 2025-10-01

  • Breaking A change will be made to SecurityAdvisory.cvss.
    Description:

    cvss will be removed. New cvss_severities field will now contain both cvss_v3 and cvss_v4 properties.

    Reason:

    cvss will be removed.

Changes scheduled for 2025-04-01

  • Breaking A change will be made to ProjectV2Workflow.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 ProjectV2View.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 ProjectV2StatusUpdate.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 ProjectV2Item.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 ProjectV2.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 EnterpriseOwnerInfo.outsideCollaborators.hasTwoFactorEnabled.
    Description:

    hasTwoFactorEnabled will be removed. Use two_factor_method_security instead.

    Reason:

    has_two_factor_enabled will be removed.

  • Breaking A change will be made to EnterpriseOwnerInfo.admins.hasTwoFactorEnabled.
    Description:

    hasTwoFactorEnabled will be removed. Use two_factor_method_security instead.

    Reason:

    has_two_factor_enabled will be removed.

  • Breaking A change will be made to Enterprise.members.hasTwoFactorEnabled.
    Description:

    hasTwoFactorEnabled will be removed. Use two_factor_method_security instead.

    Reason:

    has_two_factor_enabled will be removed.

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

  • Breaking A change will be made to DeclineTopicSuggestionPayload.topic.
    Description:

    topic will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to DeclineTopicSuggestionInput.repositoryId.
    Description:

    repositoryId will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to DeclineTopicSuggestionInput.reason.
    Description:

    reason will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to DeclineTopicSuggestionInput.name.
    Description:

    name will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to AcceptTopicSuggestionPayload.topic.
    Description:

    topic will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to AcceptTopicSuggestionInput.repositoryId.
    Description:

    repositoryId will be removed.

    Reason:

    Suggested topics are no longer supported

  • Breaking A change will be made to AcceptTopicSuggestionInput.name.
    Description:

    name 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 MergeQueueEntry.isSolo.
    Description:

    isSolo will be removed. Use solo instead.

    Reason:

    isSolo will be removed.

  • Breaking A change will be made to MergeQueueEntry.headOid.
    Description:

    headOid will be removed. Use headCommit instead.

    Reason:

    headOid will be removed.

  • Breaking A change will be made to MergeQueueEntry.hasJumpedQueue.
    Description:

    hasJumpedQueue will be removed. Use jump instead.

    Reason:

    hasJumpedQueue will be removed.

  • Breaking A change will be made to MergeQueueEntry.checkStatus.
    Description:

    checkStatus will be removed. Use state instead.

    Reason:

    checkStatus will be removed.

  • Breaking A change will be made to MergeQueueEntry.blockedByMergeConflicts.
    Description:

    blockedByMergeConflicts will be removed. Use state instead.

    Reason:

    blockedByMergeConflicts will be removed.

  • Breaking A change will be made to MergeQueueEntry.baseOid.
    Description:

    baseOid will be removed. Use baseCommit instead.

    Reason:

    baseOid will be removed.

  • Breaking A change will be made to MergeQueue.pendingRemovalEntries.
    Description:

    pendingRemovalEntries will be removed.

    Reason:

    pendingRemovalEntries will be removed.

  • Breaking A change will be made to MergeQueue.mergingEntries.
    Description:

    mergingEntries will be removed.

    Reason:

    mergingEntries will be removed.

  • Breaking A change will be made to MergeQueue.mergeMethod.
    Description:

    mergeMethod will be removed. Use configuration.merge_method instead.

    Reason:

    mergeMethod will be removed.

  • Breaking A change will be made to MergeQueue.headOid.
    Description:

    headOid will be removed. Use entry.headOid instead.

    Reason:

    headOid will be removed.

  • 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 Query.sponsorables.dependencyEcosystem.
    Description:

    dependencyEcosystem will be removed. Use the ecosystem argument instead.

    Reason:

    The type is switching from SecurityAdvisoryEcosystem to DependencyGraphEcosystem.

  • 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 Sponsorship.sponsor.
    Description:

    sponsor will be removed. Use Sponsorship.sponsorEntity instead.

    Reason:

    Sponsorship.sponsor will be removed.

  • 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-04-01

  • Breaking A change will be made to Sponsorship.maintainer.
    Description:

    maintainer will be removed. Use Sponsorship.sponsorable instead.

    Reason:

    Sponsorship.maintainer 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.