Skip to main content

互換性に影響する変更

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

破壊的変更について

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

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

私たちは、インテグレーターに安定したAPIを提供するよう努めています。 新しい機能が進化を続けている場合、それはスキーマ プレビューの背後でリリースしています。

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

Changes scheduled for 2022-07-01

  • Breaking A change will be made to Enterprise.userAccounts.

    Description:

    userAccounts will be removed. Use the Enterprise.members field instead.

    Reason:

    The Enterprise.userAccounts field is being removed.

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

  • Breaking A change will be made to Repository.defaultMergeQueue.

    Description:

    defaultMergeQueue will be removed. Use Repository.mergeQueue instead.

    Reason:

    defaultMergeQueue will be removed.

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

  • Breaking A change will be made to EnterpriseOutsideCollaboratorEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All outside collaborators consume a license

  • Breaking A change will be made to EnterpriseMemberEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All members consume a license

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-07-01

  • Breaking A change will be made to EnterprisePendingMemberInvitationEdge.isUnlicensed.

    Description:

    isUnlicensed will be removed.

    Reason:

    All pending members consume a license

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 EnterpriseBillingInfo.seats.

    Description:

    seats will be removed. Use EnterpriseBillingInfo.totalLicenses instead.

    Reason:

    seats will be replaced with totalLicenses to provide more clarity on the value being returned

  • Breaking A change will be made to EnterpriseBillingInfo.availableSeats.

    Description:

    availableSeats will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses instead.

    Reason:

    availableSeats will be replaced with totalAvailableLicenses to provide more clarity on the value being returned

  • 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.