テンプレート機能の使い方については↓以前のこのあたりの記事を参照。
さて時にテンプレートを使用していると動的な値を入れたくなることがある。
なぜか公式のドキュメントには丁寧な案内が見当たらないのだが、テンプレート内でJavascriptを使うことができる様になっている。
使い方はテンプレートの値を設定するときに、
「javascript:[スクリプト内容];」と入れてやるだけでOK。
試しにKnowledgeのテンプレートとしてArticle bodyに
「javascript:gs.getUserDisplayName()」と入れてみる。
このテンプレートを適用すると、
Article bodyに「System Administrator」と現在のユーザ名が入力された。
ただし、とりあえずこれだけだとスクリプトと固定の文字列を組み合わせたい様な入力が実現できない。
どうやらコミュニティを見ても単純にテンプレートのフィールドの記載を工夫するだけでは実現不可なようである。
・・・と思ったらこの記事を発見。
なるほど、文字列もScriptの一部となる様な記載の仕方ならOKということで、先ほどのテンプレートを↑の記事を参考に次のように変更してみる。
「javascript:"Written By : "+gs.getUserDisplayName()」と入れてUpdate。
さてさて、適用してみると・・・
これで期待通り「Written By : System Administrator」となった。固定の文字列「Written By : 」と動的に変わるパラメータである「System Administrator」をスクリプトで取得した値を組み合わせてテンプレートとして入力する事が可能になった。
ちなみに使用可能な関数等は以前も紹介したが↓のリファレンスで調査可能。日付を取得することも出来る様で、いろいろと組み合わせればかなり便利なテンプレートを作れそうだ。
https://developer.servicenow.com/dev.do#!/reference/api/Paris/server_legacy/
0 件のコメント:
コメントを投稿