コードのタスク
このページの内容
コードタスクについて
注意: この機能へのアクセスおよび継続的な利用には、ライセンスのアップグレードが必要な場合があります。詳細については、クアルトリクスのアカウントエグゼクティブにお問い合わせください。
コードタスクを使用すると、ワークフロー内の他のタスクの前後で、カスタムJavaScriptを使用してデータの操作、フォーマット、計算処理を実行できます。例えば、コードタスクを使用してAPIコールの戻り出力をよりユーザーフレンドリーな結果に変換できます(例えば、技術に詳しくないマネージャーに結果を伝える必要がある場合など)。変換された結果をメールタスクにパイプ処理して、マネージャーにメールを送信できます。
注意:カスタムコーディング機能は現状有姿で提供されており、実装にはプログラミングの知識が必要です。Qualtricsサポートでは、カスタムコーディングに関するサポートやコンサルティングを提供していません。その代わり、クアルトリクスXMコミュニティの経験豊富なユーザーにいつでも質問できます。カスタムコーディングサービスの詳細については、クアルトリクスの営業担当にお問い合わせください。
コードタスクの設定
JavaScript実行制限
コードタスクに含めるJavaScriptコードを作成する際は、以下の実行制限にご注意ください。
- 最大実行時間: 10秒
- JavaScriptの最大長: 200KB
- アウトバウンドAPIリクエストなし:セキュリティ上の理由から、コードタスクは他のAPIやサービスへのアウトバウンドリクエストを行うことや、HTTPリクエストを使用して実行時に他のJavaScriptライブラリを取得することはできません。
JavaScriptコードがこれらの制限を超えると、コードタスクは失敗します。ワークフローが失敗した場合は、ワークフローレポートで失敗した理由に関する詳細を確認してください。
エンコーディングとデコーディングのヘルパー
コードタスク内で文字列をbase64にエンコードしたり、文字列をutf-8にデコードしたりする場合は、以下のヘルパーを使用できます。
関数 base64ToUtf8(base64String: 文字列): 文字列関数 utf8ToBase64(utf8String: 文字列): 文字列
これらの関数はUNICODEと互換性があるため、絵文字、ウムラウト、アクセントなどの文字を使用できます。
ベストプラクティス
JavaScriptを作成する際は、以下のベストプラクティスに従ってください。
- コードはES6構文に準拠している必要があります。
- コードはプレーンなJavaScriptで実行されます 。
コードは、結果をJavaScriptオブジェクトとして返す必要があります。返された結果がこの方法でフォーマットされている場合、システムはカスタムコードが返すフィールドを自動的に推測し、後続のタスクに適したテキストの差し込みを提供できます。
例:この例では、複数の結果が返されます。
function codeTask() {return {hello: "world",foo: "bar",status: 200};}例:この例では、1つの結果が返されます。
function codeTask() {return {result: "hello world",};}- 想定される情報の種類によっては、ロケーターの構文を引用符で囲む必要があります。ロケーターを文字列として解決するには、引用符を追加する必要があります。オブジェクトに解決される場合は、引用符を追加する必要はありません
- 引用符を含む可能性のあるフィールドでテキストの差し込みを使用する場合は、差し込みテキストを引用符で囲む代わりに、テンプレートリテラル(`)を使用する必要があります。
例:例えば、以下のようなコードには引用符が必要です。
function codeTask() {let ticketId = "~{ch://OCAC_31HNMUuEpm3Jg/exports.data.key}";...}
例:コードタスクとウェブサービスタスクを併用する
この例では、コードタスクとウェブサービスタスクを併用する方法を順を追って説明します。コードタスクとウェブサービスタスクを併用すると、回答者のアンケート回答をAPIに適したコードに変換し、返された値を使用してAPIコールを実行できます。その後、API呼び出しの結果を取得し、別のコードタスクを使用して、返された値を人間が読みやすい回答に変換できます。
この例では、クアルトリクスでレストラン検索ツールを作成します。詳細については後ほど詳しく説明しますが、以下にその実現方法の概要を説明します。
コードタスクでレストラン検索を作成する
FAQs
ワークフローテンプレートで利用可能なすべての拡張機能にアクセスできますか?
ワークフローテンプレートで利用可能なすべての拡張機能にアクセスできますか?
すべてのワークフローのイベントとタスクへのリンクはありますか?
すべてのワークフローのイベントとタスクへのリンクはありますか?
ワークフローテンプレートとは何ですか?
ワークフローテンプレートとは何ですか?
ワークフローとは? / アクションはどこにありますか?
ワークフローとは? / アクションはどこにありますか?
今回の更新の一環として、ワークフローの機能に変更はありません。
素晴らしい! フィードバックありがとうございます!
フィードバックありがとうございます!