メインコンテンツまでスキップ

値の取得

Asgard のワークフローでは、設定値の取得方法として Literal(定数)、Expression(式)、Template(テンプレート) の 3 つに対応しています。

3 つの取得方法​

Literal(定数)​

固定の内容です。

例:

ご利用ありがとうございます!

Expression(式)​

JavaScript の式で、計算と論理処理を行います。

例:

// 変数をそのまま読む
prevMessage

// 論理式で読む
userName || 'ゲスト'

// 組み込み関数を呼び、その戻り値を使う
history(0, -1)

// 組み込み関数を呼び、その戻り値を使う
urlEncode(searchKeyword)

Template(テンプレート)​

Handlebars 構文で描画します。

例:

{{#each prevBlobs}}
ファイル
{{@index}}:
{{fileName}}
{{#if (eq fileType 'IMAGE')}}
画像ファイル: {{mime}}
{{/if}}
{{/each}}

組み込みで用意されているもの​

組み込み変数​

  • 対話関連: prevMessage、prevBlobs、prevPayload、prevError
  • チャネル関連: customChannelId、customMessageId

詳しくは Expression の変数 を参照してください。

組み込み関数​

8 つの関数が用意されています。

  • 対話履歴: history()、historySize()
  • データ処理: urlEncode()、vecToStr()、xpathExtract()
  • 日付と時刻: isoNow()、isoToday()

詳しくは Expression の組み込み関数 を参照してください。

例​

Expression モード​

// 変数を使う
prevMessage || 'メッセージなし'

// 条件分岐
prevError ? `エラー: ${prevError}` : '正常に処理されました'

// 関数の呼び出し
`対話の記録: ${historySize()} 件`

Template モード​

{{#if prevMessage}}
いまのお話: {{prevMessage}}
{{else}}
対話を始めましょう!
{{/if}}

現在の時刻: {{{isoNow 'Asia/Taipei'}}}