GitHub スポーク用の双方向 Webhook の設定

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:4分
  • ServiceNow コールバック URL で GitHub を登録する Webhook を構成します。

    始める前に

    • 統合ハブ サブスクリプションの要求
    • GitHub スポーク を有効にします。
    • 必要なロール:admin

    GitHub スポークのシークレットの作成

    GitHub Webhook URL に埋め込むシークレットを作成します。

    始める前に

    必要なロール:admin

    手順

    1. 移動先 すべて > システム定義 > スクリプト - バックグラウンド.
    2. [スクリプトを実行 (サーバー上で実行される JavaScript)] テキストフィールドで、次のコマンドを入力します。
      gs.info(GlideSecureRandomUtil.getSecureRandomString(16));
    3. [スクリプトを実行] をクリックします。
    4. 後で使用するために生成されたシークレットをコピーして記録します。

    ServiceNow への GitHub Webhook の登録

    ServiceNowGitHub を登録して、GitHub でイベントが発生したときに ServiceNow アプリに通知します。

    始める前に

    必要なロール:admin

    手順

    1. 移動先 すべて > GitHub Webhook > GitHub Webhook レジストリ.
    2. [新規] をクリックします。
    3. フォームのフィールドに入力します。
      表 : 1. GitHub Webhook レジストリフォーム
      フィールド 説明
      名前 レコードを一意に識別する名前。例:「GitHub Webhook」。
      説明 レコードの説明。
      シークレット [スクリプト - バックグラウンド] モジュールを使用して生成したシークレット。
      パス GitHub Webhook パス。デフォルトでは api/sn_github_spoke/github_webhook_callbacks/wh_entry に設定されています。
    4. フォームヘッダーを右クリックし、 [保存] をクリックします。
    5. [コールバック URL] をクリックします。
      Webhook コールバック URL とシークレットが表示されます。
    6. Webhook コールバック URL とシークレットをコピーして記録します。

    タスクの結果

    GitHubWebhook がServiceNowインスタンスに登録されます。

    GitHub へのコールバック URL の追加

    GitHub アカウントに Webhook コールバック URL を入力して、Webhook を作成します。

    始める前に

    必要なロール:admin

    手順

    1. GitHub アカウントにログインします。
    2. Atlassian アカウント に Webhook を作成します。
    3. [ペイロード URL (Payload URL)] に Webhook コールバック URL を、[シークレット] に シークレットを入力します。

      次を参照してください。 GitHub 開発者 Webhook を作成および構成する手順に関するドキュメント。

      注:
      GitHub スポークはアプリケーション/json ペイロードをサポートしています。GitHub Webhook を適宜設定します。次を参照してください。 GitHub 開発者 Webhook を作成および構成する手順に関するドキュメント。

    タスクの結果

    コールバック URL が GitHub アカウントに追加されます。要件に応じてルーティングポリシーとサブフローを作成できます。新しいルーティングポリシーとサブフローの作成方法の詳細については、「双方向 Webhook をカスタマイズ」を参照してください。

    GitHub スポークでの双方向 Webhook のカスタマイズ

    GitHub スポークでの要件に応じて、Webhook ルーティングポリシーとサブフローを作成します。

    始める前に

    必要なロール:admin

    このタスクについて

    [GitHub WebHook ルーティングポリシー] モジュールのデフォルトのルーティングポリシーは、関連する GitHub サブフローをトリガーし、GitHub で特定のイベントが発生すると ServiceNow アプリに通知します。デフォルトのルーティングポリシーがサポートする GitHub フィールドと、サブフローがサポートする GitHub イベントの詳細については、「GitHub スポーク」を参照してください。カスタムサブフローで他のフィールドを使用し、ルーティングポリシーの条件をカスタマイズするには、次の手順を実行します。

    手順

    1. 移動先 すべて > Flow Designer > デザイナー.
    2. [サブフロー] をクリックします。
    3. 必要なサブフローのコピーを作成します。
    4. 要件に応じて必要なサブフローをカスタマイズし、公開します。
      サブフローを作成および使用する方法の詳細については、「サブフローのビルド」を、またデフォルトのルーティングポリシーがサポートする GitHub フィールドおよびサブフローがサポートする GitHubイベントの詳細については、「GitHub スポーク」を参照してください。
    5. 移動先 GitHub Webhook > GitHub WebHook ルーティングポリシー.
    6. [新規] をクリックします。
    7. フォームのフィールドに入力します。
      表 : 2. 意思決定フォーム
      フィールド 説明
      ラベル ルーティングポリシーを識別する一意のラベルです。
      デフォルトの回答 この回答がデフォルトの回答かどうかを指定するオプションです。デフォルトの回答は、条件が満たされない場合に適用されます。
      1. 検索アイコンをクリックします。
      2. ドキュメントリストから必要なサブフローを選択します。
        注:
        [テーブル名]フロー [sys_hub_flow] であることを確認します。
      条件 GitHubで必須イベントが発生したときに満たされるべき条件です。サポートされているフィールドの詳細については、GitHub スポークを参照してください。
      回答 指定された条件が満たされるとトリガーされるサブフローです。
    8. [送信] をクリックします。
      注:
      これらのルーティングポリシーは意思決定テーブルに保存されます。ユーザーは、これらのテーブルのデータを直接更新または変更しないように注意してください。

    タスクの結果

    ルーティングポリシーとサブフローが作成されます。