mcpField
S
salla-app-functions-test

salla-app-functions-test

github.com/sallaappテスト・品質278 回インストール3 週間前に更新
リポジトリ

salla-app-functions-test について

公開前に、インストール済みのデモストアで保存済みの Salla App Functions をテストするスキルです。デプロイ確認、実際のフォーム入力、プレビュー実行、応答の確認を案内します。

主な機能

  1. 01テスト前のデプロイ状態確認
  2. 02トリガーに必要なフォーム項目の確認
  3. 03デモストアでのサーバー側実行
  4. 04応答、ログ、実行時間、エラーの確認
  5. 05成功、境界、失敗ケースのテスト

活用シーン

  1. 01公開前の関数検証
  2. 02実際のデモストアデータでの動作確認
  3. 03項目不足やデプロイ問題の調査

MCP 対応

`salla_functions` や `salla_apps` などの Salla Partners MCP ツールを使い、デプロイ確認、デモストア検索、プレビュー実行を行います。

インストール

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

$npx skills add https://github.com/sallaapp/salla-partners-agent-kit --skill salla-app-functions-test

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

詳細

App Functions — デモストアでテストする(プレビュー)

salla_functions action=preview で保存済みの関数を実行します。デモストアに対してサーバー側で関数を実行し、レスポンスを返します。公開前に動作を確認するため、save の後に使用してください。Portal は不要です。

save と deploy_status も preview URL を返しますが、無視してください。認証が必要で、クライアントからは呼び出せません。関数を実行するには action=preview を使用してください。このアクションには、URL に必要な認証情報が含まれています。

1. デプロイ完了を待つ

save はデプロイ job を返します。デプロイが完了するまでは、関数を実行できません。

  • salla_functions action=deploy_status に job(action=save が返す値)を渡してポーリングします。status が COMPLETED なら準備完了です。FAILED の場合は、failure_reason を確認して修正してください。
  • または、salla_functions action=preview を呼び出してください。準備ができるまでは「still deploying … retry in ~30s」が返されます。

2. フォーム入力値を収集する(実際の ID)

preview にはトリガーのフォームフィールド(関数の form)が必要です。order_id/shipment_id などを推測せず、実行前に salla_functions で正確なフィールド名を確認してください。入力値は次の 2 種類です。

  • store_id(常に必須)— インストール済みのデモストアです。salla_apps action=demo_stores で一覧を取得し、connected のストアを選択してください。
  • リソース ID(order_id、shipment_id など)— プレビューでは実データに対して関数が実行されるため、実在するレコードである必要があります。そのストアのアクセストークンを使って、Salla Admin API 経由で取得または作成してください(salla-api-core を参照)。

トークンの取り扱いについては salla-app-auth を参照してください(トークンは app.store.authorize webhook 経由で届きます。アプリには、取得するリソースに対応するスコープが必要です。必要なスコープのみをリクエストしてください)。Webhook の署名検証と冪等性については salla-webhooks を参照してください。そちらを利用し、ここでロジックを重複させないでください。

シークレット/PII の取り扱い: ストアのアクセストークンは有効な加盟店の認証情報です。メモリ内で保持し、そのトークンが属するデモストアに用途を限定してください。合成データを使うデモストアを使用し、テストで変更した設定はその後元に戻してください。

3. 実行する

例です。以下のプレースホルダーを実際の ID に置き換えてください。

salla_functions action=preview
  app_id   = 2133776579
  trigger  = shipment.created
  store_id = 660806774
  payload  = { shipment_id: 12312 }   # the form fields, minus store_id

ツールは関数をサーバー側で実行し、そのレスポンスをそのまま(http_status + response)返します。success:false/Resp.error() は実際の関数の実行結果であり、ツールの失敗ではありません。内容を確認してください。

これは Portal のSave and Previewパネルと同様の動作です(テスト)。返された response で、実行ステータス(成功/失敗)、レスポンスデータ、実行時間、console.log() の出力、エラーを確認してください。正常系、エッジケース(null/空のフィールド)、エラーケース(API の失敗、タイムアウト)など、複数のシナリオをテストしてください。公開するまでは、変更はサンドボックス内にとどまります。

エラー

  • "still deploying or failed to deploy" → 約 30 秒待つか、deploy_status を確認してください。
  • "Missing required form field(s)" → 実際の ID を payload に追加してください。
  • "store_id is required" → salla_apps demo_stores から connected のデモストアを渡してください。
  • アプリがストアにインストールされていない/無効になっている → まずデモストアにインストール/有効化してください(salla_apps demo_stores から connected のストアを選択します)。
  • リソース ID の取得時に 401/403 が発生する → トークンまたはスコープに問題があります。トークンについては salla-app-auth を参照し、そのリソースに対応するスコープをアプリが持っていることを確認してください。

確認事項:「デモストアでプレビューを実行し、期待どおりのレスポンスが返されましたか?」→ salla-app-functions-release で公開してください。

コメント