検索

第26章 Webhook の使用

download PDF

Webhook を使用すると、Web 上のアプリケーション間で指定されたコマンドを実行できます。automation controller は現在、GitHub および GitLab との Webhook インテグレーションを提供しています。

次のサービスを使用して Webhook を設定します。

GitHub および GitLab の Webhook ポストステータスバック機能は、特定の CI イベント下でのみ動作するように設計されています。別の種類のイベントを受信すると、サービスログに次のようなメッセージが記録されます。

awx.main.models.mixins Webhook event did not have a status API endpoint associated, skipping.

26.1. GitHub Webhook の設定

automation controller には、トリガーされた Webhook イベントに基づいてジョブを実行する機能があります。ジョブのステータス情報 (pending, error, success) は、プルリクエストイベントの場合にのみ送信できます。Automation controller がジョブステータスを Webhook サービスにポストする必要がない場合は、直接ステップ 3 に進みます。

手順

  1. Automation Controller で使用する Personal Access Token (PAT) を生成します。

    1. GitHub アカウントのプロファイル設定で、Settings を選択します。
    2. ナビゲーションパネルから、<> Developer Settings を選択します。
    3. Developer Settings ページで、Personal access tokens を選択します。
    4. Personal access tokens 画面で、Generate a personal access token をクリックします。
    5. プロンプトが表示されたら、GitHub アカウントのパスワードを入力して続行します。
    6. Note フィールドに、この PAT の用途に関する簡単な説明を入力します。
    7. Select scopes フィールドで、repo:statusrepo_deployment、および public_repo の横のボックスをオンにします。自動 Webhook には、招待の場合を除き、リポジトリースコープへのアクセス権だけが必要です。詳細は、OAuth アプリのスコープのドキュメント を参照してください。
    8. Generate Token をクリックします。

      重要

      トークンが生成されたら、ステップ 2 で必要となるため、必ず PAT をコピーしてください。GitHub でこのトークンに再度アクセスすることはできません。

  2. 必要に応じて、PAT を使用して、GitHub の認証情報を作成します。

    1. インスタンスに移動し、生成されたトークンを使用して GitHub PAT の新しい認証情報を作成 します。
    2. GitHub にポストバックするジョブテンプレートで使用するため、この認証情報の名前をメモしておきます。

      GitHub PAT トークン
    3. Webhook を有効にするジョブテンプレートに移動し、前の手順で作成した Webhook サービスと認証情報を選択します。

      GitLab Webhook 認証情報
    4. Save をクリックします。ジョブテンプレートは GitHub にポストバックするように設定されています。
  3. Webhook を設定する GitHub リポジトリーに移動し、Settings を選択します。
  4. ナビゲーションパネルから、Webhook Add webhook を選択します。
  5. Add webhook ページを完了するには、ジョブテンプレートまたはワークフロージョブテンプレートで Enable Webhook オプションをオンにする必要があります。詳細は、 ジョブテンプレートの作成 ワークフローテンプレートの作成 の両方のステップ 3 を参照してください。
  6. 以下のフィールドに入力します。

    • Payload URL: Webhook URL の内容をジョブテンプレートからコピーし、ここに貼り付けます。結果は GitHub からこのアドレスに送信されます。
    • Content type: application/json に設定します。
    • Secret: ジョブテンプレートから Webhook キー の内容をコピーし、ここに貼り付けます。
    • Which events would you like to trigger this webhook?: Webhook をトリガーするイベントのタイプを選択します。このようなイベントがあれば、ジョブまたはワークフローがトリガーされます。ジョブのステータス (保留中、エラー、成功) を GitHub に送り返すには、Let me select individual events セクションで Pull requests を選択する必要があります。

      Github リポジトリーでイベントを選択する
    • Active: これをチェックしたままにします。
  7. Add webhook をクリックします。
  8. Webhook が設定されると、編集または削除する機能とともに、リポジトリーでアクティブな Webhook のリストに表示されます。Webhook をクリックして、Manage webhook 画面に移動します。
  9. スクロールして、Webhook に対して行われた配信試行と、それらが成功したか失敗したかを表示します。

関連情報

詳細は、Webhook のドキュメント を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.