This feature requires a Pro or Enterprise plan.
- 必要に応じて、オートメーションに必要なアクストークン、パスワード、またはSSHキーなどを含む機密文字列ごとにW&B シークレットを作成します。シークレットはチーム設定で定義されます。
- webhook を作成し、エンドポイントと承認の詳細を定義し、必要なシークレットにアクセスするためのインテグレーションのアクセス権を付与します。
- オートメーションを作成し、監視するeventと W&B が送信するペイロードを定義します。ペイロードのために必要なシークレットに対して、オートメーションにアクセスを許可します。
webhook の作成
チーム管理者は、チームに webhook を追加できます。webhook が Bearer トークンを必要とする場合、またはペイロードが機密文字列を必要とする場合は、webhook を作成する前にそれを含むシークレットを作成してください。webhook には最大で1つのアクストークンと1つの他のシークレットを設定することができます。webhook の認証と承認の要件は、webhook のサービスによって決まります。
- W&B にログインし、チーム設定ページに移動します。
- Webhooks セクションで、New webhook をクリックします。
- webhook に名前を提供します。
- webhook のエンドポイント URL を提供します。
-
webhook が Bearer トークンを必要とする場合、Access token をそれを含む secretに設定します。webhook オートメーションを使用する際、W&B は
Authorization: Bearer
HTTP ヘッダーをアクストークンに設定し、${ACCESS_TOKEN}
payload variable でトークンにアクセスできます。 -
webhook のペイロードにパスワードまたは他の機密文字列が必要な場合、Secret をその文字列を含むシークレットに設定します。webhook を使用するオートメーションを設定するとき、シークレットの名前に
$
を付けて payload variable としてシークレットにアクセスできます。 webhook のアクセストークンがシークレットに保存されている場合は、アクセストークンとしてシークレットを指定するために次のステップを 必ず 完了してください。 -
W&B がエンドポイントに接続し、認証できることを確認するには:
- オプションで、テスト用のペイロードを提供します。ペイロード内で webhook がアクセス可能なシークレットを参照するには、その名前に
$
を付けます。このペイロードはテスト用であり保存されません。オートメーションのペイロードは create the automation で設定します。シークレットとアクセストークンがPOST
リクエストで指定されている場所を表示するには、Troubleshoot your webhook を参照してください。 - Test をクリックします。W&B は、設定された認証情報を使用して webhook のエンドポイントに接続しようとします。ペイロードを提供した場合は、W&B がそれを送信します。
- オプションで、テスト用のペイロードを提供します。ペイロード内で webhook がアクセス可能なシークレットを参照するには、その名前に
オートメーションの作成
webhook を設定した後、Registry または Project を選択し、webhook をトリガーするオートメーションを作成するための手順に従います。- Registry
- Project
レジストリ管理者は、そのレジストリ内でオートメーションを作成できます。レジストリのオートメーションは、将来追加されるものを含めて、そのレジストリ内のすべてのコレクションに適用されます。
- W&B にログインします。
- 詳細を確認するためにレジストリの名前をクリックします。
-
レジストリにスコープされているオートメーションを作成するには、Automations タブをクリックし、Create automation をクリックします。レジストリにスコープされているオートメーションは、そのすべてのコレクション(将来作成されるものを含む)に自動的に適用されます。
レジストリ内の特定のコレクションのみにスコープされたオートメーションを作成するには、コレクションのアクション
...
メニューをクリックし、Create automation をクリックします。または、コレクションを表示しながら、コレクションの詳細ページの Automations セクションにある Create automation ボタンを使用してそれに対するオートメーションを作成します。 - 監視する Event を選択します。イベントによっては表示される追加フィールドを入力します。例えば、An artifact alias is added を選択した場合、Alias regex を指定する必要があります。Next step をクリックします。
- webhookを所有するチームを選択します。
- Action type を Webhooks に設定し、使用する webhook を選択します。
-
webhook にアクセストークンを設定している場合、
${ACCESS_TOKEN}
payload variable でトークンにアクセスできます。webhook にシークレットを設定している場合、シークレットの名前に$
を付けてペイロード内でアクセスできます。webhook の要件は webhook のサービスによって決まります。 - Next step をクリックします。
- オートメーションに名前を付けます。オプションで説明を入力します。Create automation をクリックします。
オートメーションの表示と管理
- Registry
- Project
- レジストリのオートメーションは、レジストリの Automations タブから管理します。
- コレクションのオートメーションは、コレクションの詳細ページの Automations セクションから管理します。
- オートメーションの詳細を表示するには、その名前をクリックします。
- オートメーションを編集するには、そのアクションの
...
メニューをクリックし、Edit automation をクリックします。 - オートメーションを削除するには、そのアクションの
...
メニューをクリックし、Delete automation をクリックします。確認が必要です。
ペイロードのリファレンス
以下のセクションを使用して、webhook のペイロードを構築します。webhook とそのペイロードのテストについての詳細は、Troubleshoot your webhook を参照してください。ペイロード変数
このセクションでは、webhook のペイロードを構築するために使用できる変数について説明します。Variable | Details |
---|---|
${project_name} | アクションをトリガーした変更を所有するプロジェクトの名前。 |
${entity_name} | アクションをトリガーした変更を所有する entity またはチームの名前。 |
${event_type} | アクションをトリガーしたイベントのタイプ。 |
${event_author} | アクションをトリガーしたユーザー。 |
${artifact_collection_name} | アーティファクトバージョンがリンクされているアーティファクトコレクションの名前。 |
${artifact_metadata.<KEY>} | アクションをトリガーしたアーティファクトバージョンのトップレベルのメタデータキーの任意の値。<KEY> をトップレベルのメタデータキーの名前に置き換えます。webhook のペイロードにはトップレベルのメタデータキーのみが利用可能です。 |
${artifact_version} | アクションをトリガーしたアーティファクトバージョンの Wandb.Artifact 表現。 |
${artifact_version_string} | アクションをトリガーしたアーティファクトバージョンのstring 表現。 |
${ACCESS_TOKEN} | アクストークンが設定されている場合、webhookで設定されたアクセストークンの値。アクセストークンは自動的に Authorization: Bearer HTTP ヘッダーに渡されます。 |
${SECRET_NAME} | 設定されている場合、webhookに設定されたシークレットの値。SECRET_NAME をシークレットの名前に置き換えます。 |
ペイロードの例
このセクションでは、一般的なユースケースのための webhook ペイロードの例を示します。例は payload variables をどのように使用するかを示します。- GitHub repository dispatch
- Microsoft Teams notification
- Slack notifications
GHA ワークフローをトリガーするために必要なセットのアクセス許可を持っていることを確認してください。詳細については、これらの GitHub Docs を参照してください。
on
キーのトリガーとして受け入れる GitHub ワークフローファイルを持っているとしましょう。webhook ペイロードの
event_type
キーは GitHub ワークフローファイルの types
フィールドと一致しなければなりません。${event_type}
は LINK_ARTIFACT
または ADD_ARTIFACT_ALIAS
としてレンダリングされます。以下に例のマッピングを示します。- リポジトリディスパッチの詳細については、GitHub Marketplace の公式ドキュメントを参照してください。
- Webhook Automations for Model Evaluation と Webhook Automations for Model Deployment のビデオを視聴し、モデルの評価とデプロイメントのためのオートメーションを作成する方法を学びましょう。
- W&B の レポート をレビューし、GitHub Actions webhook オートメーションを使用した Model CI の作成方法を説明しています。この GitHub リポジトリ をチェックして、Modal Labs webhook を使用した model CI の作成方法を学びましょう。
webhook のトラブルシューティング
W&B アプリ UI または Bash スクリプトを使用して、インタラクティブに webhook のトラブルシューティングを行います。新しい webhook を作成する際や既存の webhook を編集する際に webhook をトラブルシューティングできます。- W&B App UI
- Bash script
チーム管理者は W&B アプリ UI を使用して webhook をインタラクティブにテストできます。
- W&B チーム設定ページに移動します。
- Webhooks セクションまでスクロールします。
- webhook の名前の横にある三点リーダー(ミートボールアイコン)をクリックします。
- Test を選択します。
- 現れた UI パネルから、表示されるフィールドに POST リクエストを貼り付けます。
- Test webhook をクリックします。W&B アプリ UI 内で、W&B はエンドポイントからの応答を投稿します。