アクション
パラメーター
変数・シークレット

変数・シークレット

変数・シークレットは、環境ごとに値を保存して、複数のアクションの設定で使い回せる機能です。

変数・シークレットは、名前に vars および secrets と言う接頭辞をつける形で、アクションのパラメーター同様、アクションの設定内で使用できます。また、HTTP APIの共通ヘッダー、gRPCの共通メタデータでも同様の形式で使用できます。

例えば、 API_TOKEN シークレットを登録すると、HTTP APIのヘッダーの値などに {{ secrets.API_TOKEN }} と設定することで参照できます。

変数・シークレット設定画面

また、登録した変数は、アクションの加工スクリプトおよびビューのコード内で、BaseMachinaContextを経由して値を取得できます。 シークレットはアクション実行時のみ使用可能で、加工スクリプトおよびビューのコード内では使用できません。 詳細については、アクションの結果の加工に使える値と、ビューのuseBaseMachinaContextのドキュメントを参照ください。

変数とシークレットの違いについて

変数とシークレットの機能上の違いは、値の暗号化の有無です。

変数は、値が平文で保存され、その内容を変数・シークレット設定画面上で確認できます。

シークレットは、値が暗号化したうえで保存され、アクションの実行時のみに復号して使用されます。保存した後は、内容を変数・シークレット設定画面上で確認できません。

変数・シークレットの作成方法

変数・シークレットの作成は、プロジェクト設定画面の "変数・シークレット" 設定から行なえます。

変数・シークレットの保存先は、現在選択中の環境となります。アクションの実行時に環境別の値を使用するには、それぞれの環境に同名の変数・シークレットを作成してください。

変数を作成する

変数・シークレット設定画面から変数の追加ボタンをクリックします。

変数・シークレット設定画面の変数作成画面への導線

変数の名前と、値を入力して保存します。保存すると、名前に含まれる半角英字は自動的に大文字に変換されます。

変数作成画面

シークレットを作成する

変数・シークレット設定画面からシークレットの追加ボタンをクリックします。

変数・シークレット設定画面のシークレット作成画面への導線

シークレットの名前と、値を入力して保存します。変数同様、保存すると、名前に含まれる半角英字は自動的に大文字に変換されます。

シークレット作成画面

変数・シークレットの編集、削除

変数・シークレットの編集、削除は、設定画面に表示される一覧の行の右端の3点リーダから行なえます。

変数・シークレットの編集、削除

変数・シークレットの使用方法

変数・シークレットは、アクションの設定内でパラメーターを使用できる箇所および、HTTP APIの共通ヘッダー、gRPCの共通メタデータの設定内で、パラメーターと同様の形式で使用できます。

書式は以下のとおりです。

  • 変数: {{ vars.変数名 }}
  • シークレット: {{ secrets.シークレット名 }}

上記の 変数名シークレット名 の部分を実際の名前に置き換えて使用してください。

指定された変数、シークレットが現在使用中の環境に存在しなかった場合、アクションの実行に失敗します。

HTTP APIアクションの例

変数として USER_EMAIL を、 シークレットとして USER_PASSWORD を登録したとき、これらはHTTP APIアクションの設定で下記のように使用できます。

  • リクエストタイプ: form-data
  • フォームデータ
    • キー: email, 値: {{ vars.USER_EMAIL }}
    • キー: password, 値: {{ secrets.USER_PASSWORD }}

form-data以外で使用したい場合も、パラメーターを使用できる箇所で同様の設定が可能です。

フォームデータへの変数・シークレットの設定

変数・シークレットを環境ごとに切り替える

アクション実行時に、変数・シークレットを別環境のものに切り替えたいときは、通常通りメニューバーから使用したい環境を選択してください。

環境切り替えのUI

補足

監査ログについて

変数・シークレットは、アクションのパラメーターに設定された引数とは異なり、 監査ログのストリーミング 機能による記録の対象となりません。