Github Service [非推奨]
重要
サードパーティ サービスとプッシュ通知の廃止
Atlas App Services のサードパーティ サービスとプッシュ通知は非推奨となり、代わりに関数内の外部依存関係を使用する HTTP エンドポイントを作成できるようになりました。
Webhook はHTTPS endpointsに名前変更され、動作は変更されません。 既存の Webhook を移行する必要があります。
既存のサービスは、 30、2025 まで引き続き機能します。
サードパーティ サービスとプッシュ通知は非推奨になったため、App Services UI からデフォルトで削除されました。 既存のサードパーティ サービスまたはプッシュ通知を管理する必要がある場合は、次の操作を実行して構成を UI に追加できます。
左側のナビゲーションの [ App Settings Manageセクションの下にある [] をクリックします。
Temporarily Re-Enable 3rd Party Servicesの横にあるトグル スイッチを有効にし、変更を保存します。
Overview
Githubは、Git リポジトリをホスティングおよび確認するためのウェブベースの開発プラットフォームです。
Atlas App Services Githubサービスを使用すると、アプリケーションは新しいプル リクエストや問題など、 Reactリポジトリ内のイベントにGithubできます。
構成パラメータ
Githubサービスインターフェイスを作成するときは、次のパラメータに値を指定する必要があります。
{ "name": "<Service Name>", "type": "github", "config": {} }
Parameter | 説明 |
---|---|
Service Name config.name | このGithubサービス インターフェイスの名前。 これは、アプリケーション内の他のすべてのサービス インターフェースと一意である必要があります。 |
サービス アクション
Github Services では、サービス アクションは提供されません。 リポジトリ内のイベントに応答するには、 受信 WebhookGithub を使用します。
受信 Webhook
注意
Github Webhook のエンドポイントへの変換
Github Service Webhook は非推奨となり、代わりに カスタムHTTPS endpointsが採用されるようになりました。 既存のGithub Webhook をエンドポイントに移行する方法については、「 Webhook をHTTPS endpointsに変換する 」を参照してください。
Githubは、リポジトリで特定のイベントが発生するたびに、1 つ以上の Webhook を呼び出すことができます。 GithubGithubイベントタイプに関する詳細な参照情報を含む、Github の Webhook 機能の詳細については、 の Webhook を参照してください。 ドキュメント。
構成
Github受信 Webhook を構成するときは、次のパラメータに値を指定する必要があります。
Github受信 Webhook を構成するときは、次の形式の構成ファイルを提供する必要があります。
{ "name": <string>, "respond_result": <boolean>, "run_as_user_id": <string>, "run_as_user_id_script_source": <string>, "options": { "secret": <string> }, }
構成値 | 説明 |
---|---|
Webhook Name name | 必須。 Webhook の名前。 Githubサービス インターフェース内の各受信 Webhook には一意の名前が必要です。 |
Respond With Result respond_result | 必須。 true {0 の場合、App ServicesGithub は Webhook 関数の戻り値をレスポンス本文で に送信します。 |
Run Webhook As run_as_user_id run_as_user_id_script_source | 任意。 Webhook が呼び出されるときに Webhook 関数を実行するApp Services ユーザーの ID。 でユーザー を直接指定することも、ID |
Request Validation config.secret | GitHub SecretstringGithubリクエストが有効であることを証明するために が受信リクエストに含める 。Webhook を指定するときに リポジトリの設定でこの値を指定する必要があります。GithubURL |
リクエスト ペイロード
App Services は、受信する Webhook 関数の最初の引数としてpayload
ドキュメントを自動的に渡します。 Github Service 受信 Webhook では、payload
オブジェクトは、Gitthub がGithubを呼び出す原因となったGithubイベントを表します。
注意
Github payload
ドキュメントの正確な内容は、表すイベントの種類によって異なります。 特定のイベントタイプのペイロード ドキュメントの詳細については、Github の イベントタイプとペイロード を参照してください。 ドキュメント。
Webhook 関数の例
次の Webhook 関数は、受信データを MongoDB コレクションに挿入します。
exports = function(payload) { const mongodb = context.services.get("mongodb-atlas"); const requestlogs = mongodb.database("test").collection("requestlogs"); return requestlogs .insertOne({ "commits": payload.commits, "pushed_by": payload.pusher, "repo": payload.repository.html_url }) .then(({ insertedId }) => `Inserted document with _id: ${insertedId}`) }
payload
ドキュメントはGithubサービスによって渡され、リクエストの情報が含まれています。
Github設定
Githubリポジトリへの Webhook の追加
サブスクライブするリポジトリに移動します。
リポジトリの [ Settings ] タブをクリックし、左側のメニューから [ Webhooks ] を選択します。
[Add Webhook] をクリックします。
Webhook URL をPayload URLフィールドに追加します。
コンテンツタイプを
application/json
に設定します。Enter the GitHub Secret. これは、Webhook 構成で指定した値と一致する必要があります。
サブスクライブするイベントのタイプを選択します。
[Add webhook] をクリックします。