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を使っているリポジトリを探す
アプライアンス上でどのリポジトリがGitHub Servicesを使っているかを特定するためのコマンドラインスクリプトが提供されています。 詳細については、ghe-legacy-github-services-report を参照してく� さい。
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で置き換えるには、以下のようにします。
-
この一覧からサブスクライブする必要のある関連する Webhook イベントを特定します。
-
GitHub Servicesを現在使っている方法に応じて、設定を変更してく� さい。
- GitHub Apps: アプリのアクセス許可とサブスクライブしているイベントを更新し、関連する Webhook イベントを受信するようにアプリを構成します。
- OAuth アプリ:
repo_hook
とorg_hook
スコープの一方または両方を要求し、ユーザーに代わって関連するイベントを管理します。 - GitHub Service プロバイダー: ユーザーが手動で、送信された関連するイベントと合わせて Webhook を構成するように要求するか、この機会にこの機能を管理するアプリを構築してく� さい。 詳細については、「アプリについて」を参照してく� さい。
-
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に対する重要なパッチを受け付けます。
弊社の支援を受けての移行
ご質問がある� �合は、お問い合わせく� さい。
高レベルの概要としては、移行のプロセスは通常以下を含みます。
- 製品がどこでどのようにGitHub Servicesを使っているかの特定。
- 通常のwebhookに移行するために設定する必要がある、対応するwebhookイベントの特定。
- OAuth Apps または GitHub Apps。GitHub Apps を使用して設計を実装します。 が推奨されます。 GitHub Apps が優先される理由の詳細については、「GitHub Apps に切り替える理由」を参照してく� さい。