スクリプトタスクのデバッグに、ログ出力を使用する

Ver. 11.6 で新しく追加された、スクリプトタスク/サービスタスク (Add-on) のロギングの機能について、紹介します。

スクリプトタスクは、ワークフローエンジンに何らかの自動処理を行わせることのできる工程です。エンジニア向けの機能で、ECMA スクリプトによって、自動処理の内容を記述することができます。

サービスタスク (Add-on) は、このスクリプトタスクで行う自動処理を、モジュール化したものです。モジュール化された定義ファイルをインポートすることで、対応する自動工程アイテムを追加することができるようになります。定義ファイルそのものを、自ら作成することも可能です。

M415: 業務プロセス定義で利用可能な自動工程を追加する

 

これら、スクリプトタスク/サービスタスク (Add-on) のデバッグを楽にする目的で、ロギングの機能を追加しました。”Google Drive フォルダ作成” のアドオンの中で使用していますので、定義ファイル内のスクリプトを参照してもらえればと思います。

アドオン: Google Drive フォルダ作成

 

ログ出力の方法は、engine.log() を使用します。メソッドの引数に指定された文字列が、そのままログとして出力されます。

メソッド毎に改行が入りますし、文字列内の改行もそのまま維持されて、ログ出力されます。

engine.log("status:" + status);
engine.log("response:");
engine.log(resText);

 

出力されたログは、プロセス詳細(管理者モード)で確認できるようになっています。
以下は先の “Google Drive フォルダ作成” アドオンで出力されたログのサンプルです。

 

これまでは、スクリプト内の挙動を詳しく調べる場合、文字型データ項目にログを保存する以外に方法がなかったかと思います。

この方法は、スクリプトタスク/サービスタスクを処理失敗させることができない、処理失敗するとデータ項目にログが保存されない、という弱点がありました。

ロギングの機能は、スクリプトタスク/サービスタスクの成功/失敗のいずれでも、ログが保存されるメリットがあります。本来、失敗と記録されるべき工程を、成功させる必要がなくなります。

今後、スクリプトタスク/サービスタスク (Add-on) のデバッグには、ロギングの機能を使ってもらえればと思います。

 

あわせて読みたい
50.Questetra Tips の前の記事 Ver. 11.6 リリース以降のパフォーマンスについて
50.Questetra Tips の次の記事 backlog の webhook でクラウド型ワークフローを動かす
Hatanaka Akihiro の他の記事 Twilio で電話の無いコールセンター!? (コールバック編その1)

アーカイブ

 RSS