ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-03-02. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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(Service Hooksと呼ばれることもあります)は、インテグレーションの旧来の方法であり、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で置き換えるには、以下のようにします。

  1. このリストから、サブスクライブする必要がある関連webhookイベントを特定してください。

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

    • GitHub Apps: アプリケーションの権限とサブスクライブしているイベントを更新し、関連するwebhookイベントを受信するようにアプリケーションを設定してください。
    • OAuth Apps: 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に対する重要なパッチを受け付けます。

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

質問があれば、お問い合わせください。

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

  • 製品がどこでどのようにGitHub Servicesを使っているかの特定。
  • 通常のwebhookに移行するために設定する必要がある、対応するwebhookイベントの特定。
  • OAuth AppもしくはGitHub Appのいずれかを利用して設計を実装。 GitHub Appの方が望ましいです。 GitHub Appが望ましい理由の詳細を学ぶには、「GitHub Appに切り替える理由」を参照してください。