mcpField
B
b2c-webdav

b2c-webdav

github.com/salesforcecommercecloudクラウド・DevOps57120 回インストール今日更新
リポジトリ

b2c-webdav について

b2c-webdavは、b2c CLIでSalesforce B2C CommerceのWebDAVルート上のファイルを管理するエージェントスキルです。impex、cartridges、logsなどのルートでの操作を扱います。

主な機能

  1. 01WebDAVファイルの一覧表示、アップロード、ダウンロード
  2. 02複数のWebDAVルートでのファイル管理
  3. 03ディレクトリの作成とリモートファイルの削除
  4. 04リモートディレクトリやアーカイブのZIP・解凍
  5. 05自動検出されたインスタンス認証情報と設定の利用

活用シーン

  1. 01インポート・エクスポートアーカイブの転送
  2. 02コードバージョン内のcartridgeファイルの管理
  3. 03ログやサイト固有の動的ファイルの取得

MCP 対応

個別ファイルの一覧表示、読み取り、転送に使うMCPツールとして、`webdav_list`、`webdav_get`、`webdav_put`を説明しています。再帰転送やmkdir、削除、ZIP、UNZIPなどにはCLIを推奨しています。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/salesforcecommercecloud/b2c-developer-tooling --skill b2c-webdav

インストール後、Claude Code で/b2c-webdavを入力して読み込まれたか確認します。

同梱ファイルevals/trigger-evals.json

詳細

B2C WebDAV スキル

b2c CLI プラグインを使用して、Salesforce B2C Commerce インスタンス上で WebDAV のファイル操作を実行します。これには、異なる WebDAV ルート間でのファイルの一覧表示、アップロード、ダウンロード、管理が含まれます。

ヒント: b2c がグローバルにインストールされていない場合は、代わりに npx @salesforce/b2c-cli を使用してください(例:npx @salesforce/b2c-cli webdav ls)。

MCP に相当する機能

1 ディレクトリの一覧表示、テキストの正確な読み取り、単一ファイルの転送には、利用可能な場合は webdav_list、webdav_get、webdav_put を優先してください。webdav_get は HTTP バイト範囲(offset、maxBytes、返される size/nextOffset)を使用します。outputPath を指定するとファイル全体がダウンロードされます。webdav_put は content または sourcePath を受け付けます。親ディレクトリが存在している必要があり、置き換える場合は overwrite: true が必要です。ローカルパスは MCP ホスト上のもので、projectDirectory を基準とします。転送サイズの上限は 64 MiB です。事前にスキルを読み込む必要はありません。 ローカルのカートリッジの選択/マッピングには cartridge_deploy を使用してください。再帰的な転送、mkdir、削除、ZIP/UNZIP、または MCP で公開されていない追加フラグが必要な場合は、CLI を使用してください。

設定と認証

CLI は、SFCC_* 環境変数(プロジェクトの .env を含む)、選択されたプロジェクトローカルまたは共有の dw.json、設定プラグインから、対象インスタンスと認証情報を自動検出します。package.json から提供されるのは、機密情報ではないデフォルト値のみです。--server、--client-id、--client-secret、--username、--password などのフラグは通常不要です。自動検出された値を上書きする場合にのみ指定してください。

サーバーのみが設定されている場合、最初のコマンドはブラウザーを開いて、ユーザーが Account Manager アカウントでサインインするのを待ちます。ユーザーにサインインを完了するよう伝えてください。アクセス権は Business Manager のロールによって決まり、403 が返された場合は、不足している権限(たとえば Cartridges の場合は WebDAV_Manage_Customization)が示されます。

b2c setup inspect を実行すると、解決された設定と各値の取得元を確認できます(スクリプトで使用する場合は --json を指定してください。デフォルトではシークレットはマスクされます)。優先順位のルールやトラブルシューティングについては、b2c-cli:b2c-config スキルを参照してください。

WebDAV ルート

--root フラグで WebDAV ディレクトリを指定します。

  • impex(デフォルト) - インポート/エクスポートディレクトリ
  • temp - 一時ファイル
  • cartridges - コードカートリッジ
  • realmdata - レルムデータ
  • catalogs - 商品カタログ
  • libraries - コンテンツライブラリ
  • static - 静的リソース
  • dynamic - Velocity テンプレートを含む、サイト固有のファイル
  • logs - アプリケーションログ
  • securitylogs - セキュリティログ

使用例

動的サイトファイル

--root=dynamic と、最初のリモートパスセグメントとしてサイト ID を指定します。たとえば、 MySite/mockData/mock.vm は Sites/Dynamic/MySite/mockData/mock.vm に解決されます。 この場所には、dw.template.Velocity.renderTemplate() が使用する Velocity テンプレートなど、コードのバージョンとは独立したサイト固有のファイルが保存されます。

b2c webdav ls --root=dynamic MySite/
b2c webdav mkdir --root=dynamic MySite/mockData
b2c webdav put --root=dynamic ./mock.vm MySite/mockData/
b2c webdav get --root=dynamic MySite/mockData/mock.vm -o ./mock.vm

同じルートとサイトを先頭に付けたパスは、rm、zip、unzip でも使用できます。

ファイルの一覧表示
# list files in the default IMPEX root
b2c webdav ls

# list files in a specific path
b2c webdav ls src/instance

# list files in the cartridges root
b2c webdav ls --root=cartridges

# list files with JSON output
b2c webdav ls --root=impex --json
ファイルのダウンロード
# download a file from IMPEX (default root)
b2c webdav get src/instance/export.zip

# download to a specific local path
b2c webdav get src/instance/export.zip -o ./downloads/export.zip

# download from a specific root
b2c webdav get customerror.log --root=logs

# output file content to stdout
b2c webdav get src/instance/data.xml -o -
ファイルのアップロード
# upload a file to IMPEX
b2c webdav put ./local-file.zip src/instance/

# upload to a specific root
b2c webdav put ./my-cartridge.zip --root=cartridges
ディレクトリの作成
# create a directory in IMPEX
b2c webdav mkdir src/instance/my-folder

# create a directory in a specific root
b2c webdav mkdir my-folder --root=temp
ファイルの削除
# delete a file
b2c webdav rm src/instance/old-export.zip

# delete from a specific root
b2c webdav rm old-file.txt --root=temp
カートリッジの削除

コードバージョンからカートリッジを削除するには、cartridges ルートと {code-version}/{cartridge-name} 形式のパスを使用します。

# delete a cartridge from a code version
b2c webdav rm v25_1_0/app_mysite --root=cartridges

# delete multiple cartridges
b2c webdav rm v25_1_0/app_mysite --root=cartridges
b2c webdav rm v25_1_0/int_myintegration --root=cartridges

# list cartridges in a code version first
b2c webdav ls v25_1_0 --root=cartridges

重要: パスは /cartridges/{code-version}/... ではなく、{code-version}/{cartridge-name} です。--root=cartridges(または -r cartridges)フラグで WebDAV ルートを設定します。

リモートファイルの ZIP 圧縮/展開
# create a zip archive of a remote directory
b2c webdav zip src/instance/my-folder

# extract a remote zip archive
b2c webdav unzip src/instance/archive.zip
インポートセットの管理状態

ローカルのサイトインポート/エクスポートアーカイブのセットを一度だけ適用する場合、マーカーファイルを手動でスクリプト化しないでください。代わりに、より上位のコマンドを使用します。

b2c job import-set

以前の履歴を削除せずに最初からやり直すには、新しいセット ID を使用し、後続の実行でも同じ ID を使い続けてください。

b2c job import-set --set-id migrations-reset-20260818

既定の履歴をその場でリセットするには、履歴を削除してインポートセットを再実行します。

b2c webdav rm --root=impex b2c-cli/import-sets/migrations
b2c job import-set

カスタムセット ID を使用する場合は、末尾の migrations パスセグメントをその ID に置き換えてください。その場でリセットすると、成功したアーカイブの記録が完全に失われ、現在のすべてのアーカイブが再び保留状態になります。そのため、すべてのアーカイブを安全に再適用できる場合にのみ使用してください。--break-lock は復旧用であり、履歴をリセットするものではありません。

標準的なワークフロー、命名規則、再試行の動作、復旧ルールについては、b2c-cli:b2c-site-import-export スキルの 順序付けされた冪等なインポートセットの適用 セクションを参照してください。

その他のコマンド

webdav トピックで使用できるコマンドとオプションの一覧については、b2c webdav --help を参照してください。

関連スキル

  • b2c-cli:b2c-logs - ログのフィルタリング取得、検索、リアルタイムのテーリング(ログの調査に推奨)
  • b2c-cli:b2c-code - より上位のコードデプロイ(カートリッジのアップロードに推奨)
  • b2c-cli:b2c-site-import-export - サイトアーカイブと冪等なインポートセットに関する標準的なガイダンス
  • b2c-cli:b2c-job - ジョブの実行と監視

コメント