Postman CLIでは、コレクション(or フォルダ)配下のテスト実行時に次のように--env-barオプションで環境変数の情報を指定できる
postman login --with-api-key <postman-api-key>
postman collection run <Collection ID> -i <Folder ID> --env-var key=valueこの機能を利用すれば、もしあるAPIリクエスト設定で秘匿情報を扱う必要がある場合、その秘匿情報(ここではAPIキー)を次のように変数化({{api-key}})しておけば、実行時に秘匿情報を外部から注入が可能となる
Postman CLIの実行例
postman collection run <Collection ID> -i <Folder ID> --env-var api-key=<SECRET-KEY>GitHub Actionsで実行する場合は、GitHub Actionsビルトインのシークレットの仕組みが活用できる。たとえば、APIキー情報を、YOUR_API_KEYという名前のシークレットに保存すれば、次のようなパイプラインで実行できる
name: Automated API tests using Postman CLI
on: push
jobs:
automated-api-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Postman CLI
run: |
curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
- name: Login to Postman CLI
# Postmanにログイン
run: postman login --with-api-key ${{ secrets.POSTMAN_API_KEY }}
- name: Run API tests
run: |
# フォルダーレベルのテストを実行。実行時にenv-barオプションでapiキー情報を注入
postman collection run "コレクションID" -i "フォルダID" --env-var api-key=${{ secrets.YOUR_API_KEY }}上記パイプラインのトリガーはpushなので、もしスケジュール実行する場合は、次のようにトリガー設定すればよい。
on:
# 毎時 30分に実行する例
schedule:
- cron: '30 * * * *'