This feature requires a Pro or Enterprise plan.
Registry 管理者は、その Registry でオートメーションを作成できます。Registry オートメーションは、今後追加されるものを含め、Registry 内のすべてのコレクションに適用されます。
-
Weights & Biases にログインします。
-
Registry の名前をクリックして詳細を表示します。
-
Registry の範囲に設定されたオートメーションを作成するには、Automations タブをクリックし、Create automation をクリックします。Registry の範囲に設定されたオートメーションは、そのすべてのコレクション(今後作成されるものを含む)に自動的に適用されます。
Registry 内の特定のコレクションのみを範囲とするオートメーションを作成するには、コレクションのアクション ...
メニューをクリックし、Create automation をクリックします。または、コレクションを表示しながら、コレクションの詳細ページの Automations セクションにある Create automation ボタンを使用して、コレクションのオートメーションを作成します。
-
監視する Event を選択します。イベントに応じて表示される追加フィールドに入力します。たとえば、An artifact alias is added を選択した場合は、Alias regex を指定する必要があります。Next step をクリックします。
-
webhook を所有する Team を選択します。
-
Action type を Webhooks に設定し、使用する webhook を選択します。
-
webhook のアクセストークンを設定した場合は、${ACCESS_TOKEN}
ペイロード変数 でトークンにアクセスできます。webhook のシークレットを設定した場合は、名前の先頭に $
を付けることで、ペイロードでアクセスできます。webhook の要件は、webhook のサービスによって決まります。
-
Next step をクリックします。
-
オートメーションの名前を入力します。必要に応じて、説明を入力します。Create automation をクリックします。
Weights & Biases 管理者は、Project でオートメーションを作成できます。
-
Weights & Biases にログインし、Project ページに移動します。
-
サイドバーで、Automations をクリックします。
-
Create automation をクリックします。
-
監視する Event を選択します。
-
イベントに応じて表示される追加フィールドに入力します。たとえば、An artifact alias is added を選択した場合は、Alias regex を指定する必要があります。
-
必要に応じて、コレクションフィルターを指定します。それ以外の場合、オートメーションは、今後追加されるものを含め、Project 内のすべてのコレクションに適用されます。
Next step をクリックします。
-
webhook を所有する Team を選択します。
-
Action type を Webhooks に設定し、使用する webhook を選択します。
-
webhook にペイロードが必要な場合は、ペイロードを作成して Payload フィールドに貼り付けます。webhook のアクセストークンを設定した場合は、${ACCESS_TOKEN}
ペイロード変数 でトークンにアクセスできます。webhook のシークレットを設定した場合は、名前の先頭に $
を付けることで、ペイロードでアクセスできます。webhook の要件は、webhook のサービスによって決まります。
-
Next step をクリックします。
-
オートメーションの名前を入力します。必要に応じて、説明を入力します。Create automation をクリックします。
- Registry のオートメーションは、Registry の Automations タブから管理します。
- コレクションのオートメーションは、コレクションの詳細ページの Automations セクションから管理します。
これらのページのいずれかから、Registry 管理者は既存のオートメーションを管理できます。
- オートメーションの詳細を表示するには、その名前をクリックします。
- オートメーションを編集するには、アクション
...
メニューをクリックし、Edit automation をクリックします。
- オートメーションを削除するには、アクション
...
メニューをクリックし、Delete automation をクリックします。確認が必要です。
Weights & Biases 管理者は、Project の Automations タブから Project のオートメーションを表示および管理できます。
- オートメーションの詳細を表示するには、その名前をクリックします。
- オートメーションを編集するには、アクション
...
メニューをクリックし、Edit automation をクリックします。
- オートメーションを削除するには、アクション
...
メニューをクリックし、Delete automation をクリックします。確認が必要です。
Weights & Biases からリポジトリディスパッチを送信して、GitHub アクションをトリガーします。たとえば、on
キーのトリガーとしてリポジトリディスパッチを受け入れる GitHub ワークフローファイルがあるとします。
on:
repository_dispatch:
types: BUILD_AND_DEPLOY
リポジトリのペイロードは、次のようになります。
{
"event_type": "BUILD_AND_DEPLOY",
"client_payload":
{
"event_author": "${event_author}",
"artifact_version": "${artifact_version}",
"artifact_version_string": "${artifact_version_string}",
"artifact_collection_name": "${artifact_collection_name}",
"project_name": "${project_name}",
"entity_name": "${entity_name}"
}
}
webhook ペイロードの event_type
キーは、GitHub ワークフロー YAML ファイルの types
フィールドと一致する必要があります。
レンダリングされたテンプレート文字列の内容と配置は、オートメーションが設定されているイベントまたはモデルバージョンによって異なります。${event_type}
は、LINK_ARTIFACT
または ADD_ARTIFACT_ALIAS
のいずれかとしてレンダリングされます。以下に、マッピングの例を示します。
${event_type} --> "LINK_ARTIFACT" or "ADD_ARTIFACT_ALIAS"
${event_author} --> "<wandb-user>"
${artifact_version} --> "wandb-artifact://_id/QXJ0aWZhY3Q6NTE3ODg5ODg3""
${artifact_version_string} --> "<entity>/model-registry/<registered_model_name>:<alias>"
${artifact_collection_name} --> "<registered_model_name>"
${project_name} --> "model-registry"
${entity_name} --> "<entity>"
テンプレート文字列を使用して、Weights & Biases から GitHub Actions およびその他のツールにコンテキストを動的に渡します。これらのツールが Python スクリプトを呼び出すことができる場合は、Weights & Biases API を使用して、登録されたモデル Artifacts を利用できます。
このペイロードの例は、webhook を使用して Teams チャンネルに通知する方法を示しています。
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"summary": "New Notification",
"sections": [
{
"activityTitle": "Notification from WANDB",
"text": "This is an example message sent via Teams webhook.",
"facts": [
{
"name": "Author",
"value": "${event_author}"
},
{
"name": "Event Type",
"value": "${event_type}"
}
],
"markdown": true
}
]
}
テンプレート文字列を使用して、実行時に Weights & Biases データをペイロードに挿入できます(上記の Teams の例に示すように)。
このセクションは、履歴を目的として提供されています。現在 webhook を使用して Slack と統合している場合は、[新しい Slack インテグレーション]({{ relref “#create-a-slack-automation”}}) を使用するように構成を更新することをお勧めします。
Slack API ドキュメント で強調表示されている手順に従って、Slack アプリを設定し、受信 webhook インテグレーションを追加します。Bot User OAuth Token
で指定されたシークレットが、Weights & Biases webhook のアクセストークンであることを確認してください。
以下は、ペイロードの例です。
{
"text": "New alert from WANDB!",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Registry event: ${event_type}"
}
},
{
"type":"section",
"text": {
"type": "mrkdwn",
"text": "New version: ${artifact_version_string}"
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Author: ${event_author}"
}
}
]
}
Weights & Biases App UI を使用してインタラクティブに、または Bash スクリプトを使用してプログラムで webhook のトラブルシューティングを行います。新しい webhook を作成するとき、または既存の webhook を編集するときに、webhook のトラブルシューティングを行うことができます。
Team 管理者は、Weights & Biases App UI を使用して webhook をインタラクティブにテストできます。
- Weights & Biases Team の Settings ページに移動します。
- Webhooks セクションまでスクロールします。
- webhook の名前の横にある水平方向の 3 つのドキュメント(ミートボールアイコン)をクリックします。
- Test を選択します。
- 表示される UI パネルから、表示されるフィールドに POST リクエストを貼り付けます。

- Test webhook をクリックします。Weights & Biases App UI 内で、Weights & Biases はエンドポイントからの応答を投稿します。

デモンストレーションについては、ビデオ Weights & Biases での Webhook のテスト をご覧ください。
このシェルスクリプトは、トリガーされたときに Weights & Biases が webhook オートメーションに送信するリクエストと同様の POST
リクエストを生成する 1 つの方法を示しています。
以下のコードをコピーしてシェルスクリプトに貼り付け、webhook のトラブルシューティングを行います。次の独自の値(バリュー)を指定します。
ACCESS_TOKEN
SECRET
PAYLOAD
API_ENDPOINT
webhook_test.sh