Skip to main content

GitHub Servicesの置き換え

非推奨となったGitHub Servicesにまだ依存しているなら、サービスフックをwebhookに移行する方法を学んでください。

GitHub Servicesは、webhookとの統合を進めるために非推奨となりました。 このガイドは、GitHub Servicesからwebhookへの移行を支援します。 このお知らせの詳細については、ブログの投稿を参照してください。

メールサービスに代わるものとして、リポジトリへのプッシュに対するメール通知を利用しはじめられるようになりました。 電子メール通知のコミットを構成する方法については、「リポジトリへのプッシュに対するメール通知について」を参照してください。

非推奨のタイムライン

  • 2018 年 10 月 1 日: GitHub では、ユーザーによるサービスのインストールを停止しました。 GitHub.comのユーザインターフェースから、GitHub Servicesを削除しました。
  • 2019 年 1 月 29 日: メール サービスに代わるものとして、リポジトリへのプッシュに対するメール通知を利用し始められるようになりました。 電子メール通知のコミットを構成する方法については、「リポジトリへのプッシュに対するメール通知について」を参照してください。
  • 2019 年 1 月 31 日: GitHub では、GitHub.com でインストールされたサービス イベントの配信が停止されます。

GitHub Servicesの背景

GitHub Services (サービス フックとも呼ばれます) は、GitHub がgithub-services リポジトリを介してインテグレーターのサービスの一部をホストする統合の従来の方法です。 GitHub上で行われたアクションがこれらのサービスをトリガーし、これらのサービスを使ってGitHubの外部のアクションをトリガーできます。

GitHub Servicesとwebhook

GitHub Servicesとwebhookとの主な違いは以下のとおりです。

  • 構成: GitHub Services にはサービス固有の構成オプションがありますが、Webhook は URL とイベント群を指定するだけで簡単に設定できます。
  • カスタム ロジック: GitHub Services では 1 つのイベントの処理の一部として複数のアクションで反応するカスタム ロジックを持つことができますが、Webhook にはカスタム ロジックはありません。
  • 要求の種類: GitHub Services は HTTP および非 HTTP 要求を発行できますが、Webhook が発行できるのは HTTP 要求のみです。

webhookでのServicesの置き換え

GitHub Servicesをwebhookで置き換えるには、以下のようにします。

  1. この一覧からサブスクライブする必要のある関連する Webhook イベントを特定します。

  2. GitHub Servicesを現在使っている方法に応じて、設定を変更してください。

    • GitHub Apps: アプリのアクセス許可とサブスクライブしているイベントを更新し、関連する Webhook イベントを受信するようにアプリを構成します。
    • OAuth アプリ: repo_hookorg_hook スコープの一方または両方を要求し、ユーザーに代わって関連するイベントを管理します。
    • GitHub Service プロバイダー: ユーザーが手動で、送信された関連するイベントと合わせて Webhook を構成するように要求するか、この機会にこの機能を管理するアプリを構築してください。 詳細については、「アプリについて」を参照してください。
  3. GitHubの外部から、追加の設定を移動してください。 GitHub Servicesの中には、GitHub内の設定ページで追加のカスタム設定が必要になるものがあります。 使っているサービスがそうなら、この機能をアプリケーションに移すか、可能な場合はGitHub AppもしくはOAuth Appに依存する必要があります。

GitHub Enterprise Serverのサポート

  • GitHub Enterprise Server 2.17: GitHub Enterprise Server リリース 2.17 以降では、管理者がサービスをインストールできなくなります。 GitHub Enterprise Serverリリース2.17から2.19では、管理者は引き続き既存のサービスフックを変更し、サービスフックを受信できます。 GitHub Enterprise Server 2.17以降では、メールサービスの代替としてリポジトリへのプッシュに対するメール通知が使えます。 詳細については、このブログ記事を参照してください。
  • GitHub Enterprise Server 2.20: GitHub Enterprise Server リリース 2.20 以降では、インストールされたすべてのサービス イベントの配信が停止されます。

GitHub Enterprise Server 2.17リリースは、管理者がGitHub Servicesをインストールできない最初のリリースになります。 既存のGitHub Servicesは、GitHub Enterprise Server 2.20リリースまでしかサポートされません。 また、2019年10月1日までGitHub Enterprise Server上で動作しているGitHub Serviceに対する重要なパッチを受け付けます。

弊社の支援を受けての移行

ご質問がある場合は、お問い合わせください

高レベルの概要としては、移行のプロセスは通常以下を含みます。