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

  • Breaking A change will be made to UpdateProjectNextItemFieldInput.fieldWithSettingId.

    Description:

    fieldWithSettingId will be removed. Use fieldConstraintId instead

    Reason:

    Renamed to fieldConstraintId to improve naming consistency.

  • Breaking A change will be made to UnlockAndResetMergeGroupInput.branch.

    Description:

    branch will be removed.

    Reason:

    The current merge group for the repository's default branch, the branch argument is now a no-op

  • Breaking A change will be made to RepositoryVulnerabilityAlert.fixReason.

    Description:

    fixReason will be removed.

    Reason:

    The fixReason field is being removed. You can still use fixedAt and dismissReason.

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

    Description:

    branch will be removed.

    Reason:

    Changes are merged into the repository's default branch, the branch argument is now a no-op

  • Breaking A change will be made to LockMergeQueueInput.branch.

    Description:

    branch will be removed.

    Reason:

    The merge queue is locked for the repository's default 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 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

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.