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