Apidog Docs
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. スクリプトの使用
  • Apidog ラーニングセンター
  • はじめに
    • Apidog の概要
    • Apidog の基本概念
    • Apidog のナビゲーション
    • クイックスタート
      • 概要
      • エンドポイントの作成
      • リクエストの作成
      • アサーションの追加
      • テストシナリオの作成
      • APIドキュメントの共有
      • さらに詳しく
    • Apidogへの移行
      • 概要
      • 手動インポート
      • スケジュールインポート(データソースのバインド)
      • インポートオプション
      • データのエクスポート
      • インポート元
        • Postman からのインポート
        • OpenAPI 仕様のインポート
        • cURL のインポート
        • Markdown のインポート
        • Insomnia からインポート
        • apiDoc からインポート
        • .har ファイルをインポート
        • WSDL のインポート
  • モックAPIデータ
    • 概要
    • Smart Mock
    • カスタムモック
    • モック優先順位
    • モックスクリプト
    • Cloud Mock
    • セルフホスト Runner モック
    • モック言語(ロケール)
  • アカウントと設定
    • アカウント設定
    • OpenAPI アクセストークンの生成
    • 通知
    • 言語設定
    • ホットキー
    • ネットワークプロキシ設定
    • データのバックアップ
    • Apidog の更新
    • アカウントの削除
    • 実験的機能
  • リクエスト送信
    • 概要
    • SSE デバッグ
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP または WebService
    • GraphQL
    • gRPC
    • デバッグにリクエストプロキシエージェントを使用する
    • リクエスト作成
      • リクエスト履歴
      • リクエストの基本
      • パラメータとボディ
      • リクエストヘッダー
      • リクエスト設定
      • リクエストのデバッグ
      • リクエストをエンドポイントとして保存する
      • HTTP/2
    • 認証と認可
      • 概要
      • CA 証明書とクライアント証明書
      • 認可タイプ
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk 認証
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • レスポンスとCookie
      • APIレスポンスの表示
      • Cookie の管理
      • 概要
  • APIの開発とデバッグ
    • 概要
    • リクエストの生成
    • リクエストの送信
    • デバッグケース
    • テストケース
    • 動的値
    • レスポンスの検証
    • Design-First と Request-First
    • コード生成
    • 環境と変数
      • 概要
      • 変数の使用
      • 環境管理
    • Vaultシークレット
      • 概要
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • 動的値モジュール
      • Airline
      • Animal
      • Color
      • Commerce
      • 会社
      • Database
      • データ型
      • 日付
      • Finance
      • Food
      • Git
      • Hacker
      • Helpers
      • 画像
      • Internet
      • Location
      • Lorem
      • 音楽
      • Number
      • Person
      • Phone
      • Science
      • 文字列
      • システム
      • Vehicle
      • Word
    • プリプロセッサとポストプロセッサ
      • 概要
      • アサーション
      • 変数の抽出
      • Wait
      • セキュリティ
      • データベース操作
        • 概要
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • スクリプトの使用
        • 概要
        • プリプロセッサスクリプト
        • ポストプロセッサスクリプト
        • Public Scripts
        • Postman Scripts Reference
        • 他のプログラミング言語の呼び出し
        • JS ライブラリの使用
        • レスポンスの可視化
        • スクリプト例
          • アサーションスクリプト
          • 変数の使用
          • リクエストの変更
          • その他の例
    • APIデバッグ
      • AI Agent Debugger
      • A2A Debugger
  • API設計
    • 概要
    • 新しい API プロジェクトを作成する
    • エンドポイントの基本
    • API設計ガイドライン
    • モジュール
    • 複数のリクエストボディ例を設定する
    • コンポーネント
    • 共通フィールド
    • グローバルパラメータ
    • エンドポイント変更履歴
    • コメント
    • エンドポイントの一括管理
    • カスタムプロトコル API
    • Spec-first Mode(ベータ)
    • セキュリティスキーム
      • 概要
      • セキュリティスキームを作成する
      • セキュリティスキームを使用する
      • オンラインドキュメントにおけるセキュリティスキーム
    • 高度な機能
      • カスタムエンドポイントフィールド
      • 関連するテストシナリオ
      • エンドポイントステータス
      • パラメータ一覧の表示形式
      • エンドポイントの一意識別
    • スキーマ
      • 概要
      • 新しいスキーマを作成する
      • スキーマを構築する
      • JSON などからスキーマを生成
      • oneOf、allOf、anyOf
      • Discriminator の使用
  • APIテスト
    • 概要
    • テストシナリオ
      • テストシナリオを作成する
      • リクエスト間でデータを受け渡す
      • フロー制御条件
      • エンドポイントおよびエンドポイントケースからデータを同期する
      • 他のプロジェクトからエンドポイントとエンドポイントケースをインポートする
      • テストシナリオのエクスポート
    • テストレポート
      • テストレポート
    • テストシナリオの実行
      • テストシナリオを実行する
      • テストシナリオを一括実行する
      • データ駆動テスト
      • 共有テストデータ
      • スケジュールされたタスク
      • 他のプロジェクトの API の実行環境を管理する
    • テストスイート
      • 概要
      • テストスイートを作成する
      • テストスイートを編成する
      • テストスイートをローカルで実行する
      • CLI でテストスイートを実行する
      • スケジュールタスク
    • APIのテスト
      • 統合テスト
      • パフォーマンステスト
      • エンドツーエンドテスト
      • 回帰テスト
      • コントラクトテスト
    • Apidog CLI
      • 概要
      • Apidog CLI のインストールと実行
      • Apidog CLI オプション
    • CI/CD
      • 概要
      • Github Actions との連携
      • Gitlab との統合
      • Jenkins との連携
      • Git コミットによるテストのトリガー
  • APIドキュメントの公開
    • 概要
    • サポートされているAPI技術
    • クイック共有
    • API ドキュメントの閲覧
    • Markdown ドキュメント
    • ドキュメントサイトの公開
    • カスタムログインページ
    • カスタムレイアウト
    • カスタム CSS、JavaScript、HTML
    • カスタムドメイン
    • AI 機能
    • SEO 設定
    • 詳細設定
      • ドキュメント検索
      • CORS プロキシ
      • Google Analytics の連携
      • フォルダツリー設定
      • 表示設定
      • ドキュメントURLへの値の埋め込み
    • APIバージョン
      • 概要
      • API バージョンの作成
      • API バージョンの公開
      • API バージョンを指定したエンドポイントの共有
  • ブランチ
    • 概要
    • スプリントブランチの作成
    • ブランチでAPIをテストする
    • ブランチで API を設計する
    • スプリントブランチのマージ
    • スプリントブランチの管理
    • AI Branch(ベータ)
  • AI機能
    • 概要
    • AI機能の有効化
    • テストケースの生成
    • AI によるスキーマの変更
    • エンドポイントコンプライアンスチェック
    • APIドキュメント完全性チェック
    • AIを活用したフィールド命名
    • FAQ
  • Apidog MCPサーバー
    • 概要
    • Apidog プロジェクトを AI に接続する
    • 公開済みドキュメントを AI に接続する
    • OpenAPI ファイルを AI に接続する
  • ベストプラクティス
    • API署名の処理
    • OAuth 2.0 で保護された API へのアクセス
    • コラボレーションワークフロー
    • 認証状態の管理
  • オフラインスペース
    • 概要
  • 管理
    • プロジェクト管理
      • プロジェクトの管理
      • 通知設定
      • プロジェクトメンバーの管理
      • プロジェクトリソース
        • データベース接続
        • Git 接続
    • チーム管理
      • チームの管理
      • チームメンバーの管理
      • チームアクティビティ
      • チームのロールと権限
      • チームリソース
        • General Runner
        • チーム変数
        • リクエストプロキシエージェント
      • リアルタイムコラボレーション
        • チームコラボレーション
    • オンボーディングチェックリスト
      • 基本概念
      • オンボーディングガイド
    • 組織管理
      • 組織の管理
      • 組織ロールと権限
      • プラン管理
        • 組織の請求管理者
      • シングルサインオン(SSO)
        • SSO 概要
        • Microsoft Entra ID の設定
        • Okta の設定
        • 組織の SSO を設定する
        • ユーザーアカウントの管理
        • グループをチームにマッピングする
      • SCIMプロビジョニング
        • SCIM プロビジョニングの概要
        • Microsoft Entra ID
        • Okta
      • 組織リソース
        • セルフホスト Runner
  • 請求
    • 概要
    • クレジット
    • プランのアップグレード
    • 代替支払い方法
    • サブスクリプションの管理
    • 有料チームの組織への移動
  • Apidog Europe
    • Apidog Europe
  • アドオン
    • API Hub
    • Apidog Intellij IDEA プラグイン
    • ブラウザ拡張機能
      • Chrome
      • Microsoft Edge
    • リクエストプロキシ
      • Web でのリクエストプロキシ
      • 共有ドキュメントにおけるリクエストプロキシ
      • クライアントでのリクエストプロキシ
  • データとセキュリティ
    • データストレージとセキュリティ
    • ユーザーデータのプライバシーとセキュリティ
    • リクエストルーティングとデータセキュリティ
  • リファレンス
    • APIデザインファーストアプローチ
    • Apidog OpenAPI 仕様拡張
    • JSONPath
    • XPath
    • 正規表現
    • JSON Schema
    • CSVファイル形式
    • Java 環境のインストール
    • Runner デプロイ環境
    • Apidog Markdown 構文
    • Apidog Swagger拡張
      • 概要
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema拡張
      • 概要
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • サポートセンター
  1. スクリプトの使用

他のプログラミング言語の呼び出し

Apidog では、Javascript 環境から外部プログラム(スクリプト、JAR、バイナリ)を実行できます。これにより、Java、Python、PHP、Go、Shell などの言語で作成された既存のコードを活用できます。
セキュリティ通知
外部プログラムは Apidog サンドボックスの外部で実行され、システムへの完全なアクセス権を持ちます。実行するコードが信頼できるものであることを確認してください。

サポートされている言語#

Apidog は、ファイル拡張子に基づいて実行コマンドを推測します。
言語拡張子コマンドプレフィックス
Java.jarjava -jar
Python.pypython
Node.js.jsnode
PHP.phpphp
Go.gogo run
Shell.shsh
Ruby.rbruby
Lua.lualua

外部プログラムの呼び出し方法#

1.
外部プログラムディレクトリを開く: スクリプトエディターのフォルダーアイコンをクリックして、外部スクリプトを配置するディレクトリを開きます。
外部プログラムディレクトリ
2.
スクリプト経由で実行する: pm.executeAsync を使用してプログラムを呼び出します。

API リファレンス#

pm.executeAsync#

filePath string 外部プログラムのパス
args string[] パラメータです。jar パッケージ内の指定メソッドを呼び出す場合、変換には JSON.stringify が使用されます。それ以外の場合、非 string 型は暗黙的に string に変換されます。
options Object
command string 外部プログラムの実行コマンドです。「コマンドプレフィックス」の最初の部分が実行コマンドです。任意項目で、デフォルト値は自動的に推測されます(上記の「コマンドプレフィックス」表を参照)。任意のプログラムにカスタマイズできます。
cwd string サブプロセスの作業ディレクトリです。任意項目で、デフォルトは「外部プログラムディレクトリ」です。
env Record<string, string> サブプロセスの環境変数です。任意項目で、デフォルトは {} です。
windowsEncoding string Windows システムで使用されるエンコーディングです。任意項目で、デフォルトは "cp936" です。
className string jar パッケージ内で呼び出すクラス名を指定します(例: "com.apidog.Utils")。
method string jar パッケージ内で呼び出すメソッド名を指定します(例: "add")。
paramTypes string[] jar パッケージ内で呼び出すメソッドのパラメータ型を指定します(例: ["int", "int"])。
戻り値: Promise<string>
command パラメータの使用方法
デフォルトでは、Apidog は .py ファイルの実行に python を使用します。コンピューターに python3 がすでにインストールされている場合は、command を python3 として指定できます。

pm.execute#

代わりに pm.executeAsync を使用することを推奨します。
pm.execute(filePath, args, options)
filePath string 外部プログラムのパス
args string[] パラメータです。jar パッケージ内の指定メソッドを呼び出す場合、変換には JSON.stringify が使用されます。それ以外の場合、非 string 型は暗黙的に string に変換されます。
options Object
windowsEncoding string Windows システムで使用されるエンコーディングです。任意項目で、デフォルトは "cp936" です。
className string jar パッケージ内で呼び出すクラス名を指定します(例: "com.apidog.Utils")。
method string jar パッケージ内で呼び出すメソッド名を指定します(例: "add")。
paramTypes string[] jar パッケージ内で呼び出すメソッドのパラメータ型を指定します(例: ["int", "int"])。
戻り値: string

実行とログ#

プログラムを実行すると、実行されたコマンドがコンソールに出力されます(参考用のみ)。結果が期待どおりでない場合は、コマンドをコピーして Shell/CMD に貼り付け、デバッグできます。
コンソールには、実行されたプロセスの「標準出力(stdout)」と「標準エラー出力(stderr)」も出力されます。stdout の内容(末尾の改行文字を除く)が、実行の最終結果になります。
TIP
歴史的な理由により、pm.execute は stderr に内容がある場合、実行が失敗したものとして扱います。そのため、一部のプログラムでは警告やエラーメッセージを出力すると失敗します。pm.executeAsync では、プロセスの 終了コード を使用して実行が失敗したかどうかを判断するように変更されています。

外部プログラムの入力と出力#

パラメータ#

指定された外部プログラムはコマンドライン実行で動作するため、渡されたパラメータはコマンドライン引数を通じてのみ取得できます。
たとえば、スクリプト pm.executeAsync('add.js', [2, 3]) では、実際に実行されるコマンドは node add.js 2 3 です。外部スクリプト add.js でパラメータを取得するには、次のようにします。
TIP
1.
プログラミング言語によってコマンドライン引数の取得方法は異なります。対応する言語のドキュメントを参照してください。
2.
コマンドライン引数の型は常に string であるため、実際の型に基づいて変換する必要があります。

戻り値#

前述のとおり、Apidog は stdout の内容をプログラム実行の結果として使用します。そのため、stdout に内容を出力することで結果を返せます。
たとえば、スクリプト const result = await pm.executeAsync('add.js', [2, 3]) では、次のように結果を返せます。
1.
プログラミング言語によって stdout への出力方法は異なります。対応する言語のドキュメントを参照してください。
2.
戻り値の型は string であるため、実際の型に基づいて変換する必要があります。
3.
結果の末尾の改行文字は削除されます。
4.
jar パッケージ内の指定メソッドを呼び出す場合、呼び出されたメソッドの戻り値が最終的な戻り値として使用されます。

エラーのスロー#

エラーをスローすると、現在のタスクを失敗させ、実行を停止できます。例:
1.
プログラミング言語によってエラーのスロー方法は異なります。対応するドキュメントを参照してください。
2.
JavaScript では、console.error('Error') はエラーをスローするのではなく、stderr に出力するだけです。他の言語を使用する場合も、この点を考慮してください。

デバッグ情報#

pm.executeAsync は成功判定に stderr ではなく終了コードを使用するため、stderr は実行に影響を与えずにデバッグ情報を出力するために使用できます。
例:
TIP
1.
この方法でデバッグ情報を出力できるのは pm.executeAsync のみです。
2.
プログラミング言語によって stderr への出力方法は異なります。対応するドキュメントを参照してください。

pm.execute から pm.executeAsync への移行#

pm.executeAsync の戻り値は Promise 型であるため、execute を直接 executeAsync に変更することはできません。ただし、async/await を使用すれば、最小限の変更で移行できます。
TIP
Apidog バージョン 2.3.24 以降(CLI バージョン 1.2.38 以降)はトップレベル await をサポートしています。
手順:
1.
execute を executeAsync に変更します
2.
関数呼び出しの前に await を追加します

.jar パッケージ内の指定メソッドを呼び出す#

TIP
この機能には Apidog バージョン 2.1.39 以降が必要です。リフレクションによる jar の呼び出しのみをサポートしており、Spring Boot のように内部ランタイムリフレクションを使用する jar はサポートしていません。
デフォルトでは、jar を呼び出すと Main クラスの main メソッドが呼び出されます。options.className が指定されている場合、デフォルトの動作を上書きし、代わりに jar 内の指定メソッドを呼び出します。
jar 内の指定メソッドの呼び出しは、他の外部プログラムとは異なります。Apidog は組み込みの実行プログラムを使用して、リフレクションにより jar 内のメソッドを見つけて呼び出します。呼び出されたメソッドに戻り値がある場合は、文字列に変換された後、最終的な戻り値として使用されます。それ以外の場合は、他の呼び出しと同様に、stdout の内容が戻り値として使用されます。
例:
実際に実行されるコマンドは次のとおりです。
ここで、<app-dist>/assets/JarExecuter-1.1.0-jar-with-dependencies.jar は組み込みの実行プログラムであり、ユーザープログラム ./scripts/jar-1.0-SNAPSHOT.jar 内のメソッド com.apidog.Test.combine(String,String) をリフレクションで見つけ、パラメータ(JSON 文字列)"hello" と "world" を使用して呼び出す役割を担います。
TIP
paramTypes は任意項目です。指定しない場合、型はパラメータに基づいて自動的に推測されます。整数は "int"、浮動小数点数は "double"、ブール値は "boolean"、文字列は "String"、配列は最初の要素に基づいて推測されます。たとえば、[3] は "int[]"、[3.14] は "double[]" と推測されます。
推測された型が、呼び出されるメソッドの実際のパラメータ型と一致しない場合は、paramTypes を手動で指定する必要があります。
paramTypes 配列でサポートされている値: "Number"、"int"、"Integer"、"long"、"Long"、"short"、"Short"、"float"、"Float"、"double"、"Double"、"boolean"、"Boolean"、"String"、"Number[]"、"int[]"、"Integer[]"、"long[]"、"Long[]"、"short[]"、"Short[]"、"float[]"、"Float[]"、"double[]"、"Double[]"、"boolean[]"、"Boolean[]"、"String[]"
そのため、上記の例の paramTypes は省略できます。

例#

1. PHP プログラム#

スクリプト:
test.php:

2. Jar プログラム#

スクリプト:
com.apidog.utils.jar:

よくある問題#

1. 一部のプログラムではプロジェクト設定ファイルが必要であり、不足しているとエラーになります#

Rust と Go:
Rust:
could not find `Cargo.toml` in `<...>/ExternalPrograms` or any parent directory
Go:
go.mod file not found in current directory or any parent directory; see 'go help modules'
解決策: pm.executeAsync を使用し、cwd を指定します。

2. MacOS には Python 3 が組み込まれていますが、Python 2 はありません#

pm.executeAsync を使用し、command を "python3" に設定します。

3. Command xxx not found#

対応するプログラムをインストールし、必要なディレクトリをシステム PATH に追加してください。Java のインストールについては docs を参照してください。

4. 一部の Windows システムで外部スクリプトの呼び出し結果が文字化けして出力される#

windowsEncoding を 'utf-8' に設定します。
Modified at 2026-06-11 07:06:02
Previous
Postman Scripts Reference
Next
JS ライブラリの使用
Built with