メニュークリックきっかけ処理

メニュークリックきっかけ処理

概要

メニュークリックきっかけ処理は、独自メニューの処理を設定するための基本的なきっかけ処理です。メニュークリックきっかけ処理では、独自メニューをクリックしたときに実行する処理を設定できます。たとえば、独自メニューをクリックしたときに、操作対象の投稿のURLを、特定のグループにチャットで共有する処理を設定できます。また、独自メニューがクリックされたときに入力画面を表示し、ユーザーが入力した内容を取得し、処理に反映することもできます。メニュークリックきっかけ処理の設定では、カスタム関数を使用することで、処理内容を柔軟にカスタマイズできます。なお、カスタム関数の設定には、Zohoの独自のスクリプト言語であるDeluge(デリュージ)を使用します。
 
処理の実行が完了したら、ユーザーに対して、処理結果を表すメッセージ(レスポンス)が表示されます。 

メニュークリックきっかけ処理のパラメーター 

メニュークリックきっかけ処理では、以下のパラメーターを取得して使用できます。 

user
独自メニューの実行者の情報
entity
独自メニューの実行対象の情報
network
独自メニューが実行されたネットワークの情報
 

メニュークリックきっかけ処理の設定

標準的な処理結果(レスポンス)として出力する値の詳細は以下のとおりです。
 
パラメーター名
値の種類/内容
説明
result
:success、failure
初期値:success
処理結果(成功したか失敗したか)を表します。成功の場合は「success」、失敗の場合は「failure」を出力します。
message
データの種類(型):テキスト(文字列) 
上限:250文字
メニューの実行結果について、実行者に対して表示したいメッセージ
表1

たとえば、Zoho Connectの投稿のリンクをZoho Cliqのチャンネルで共有したいとします。このような場合にメニュークリックきっかけ処理に設定するコードの例は、以下のとおりです。 

  1. entityUrl = entity.get("url"); message = "おつかれさまです。\nZoho Connectの以下の投稿を共有します。\n" + entityUrl + "";

    //例:hrdepartment - Zoho Cliqのチャンネルの詳細情報の画面で[コネクター]タブの[識別用の名前]欄に表示される値

    //例:zohocliqoauth - Zoho Cliqとの外部連携の設定のリンク名(設定ではチャンネルへの投稿が可能なように処理範囲/スコープを指定して認証します)

    response = zoho.cliq.postToChannel("hrdepartment",message,"zohocliqoauth");

    info response;

    responseMap = map();

    if(response.containKey("status") && response.get("status") == "success")

    {

     responseMap.put("result", "success");

     responseMap.put("message", "人事部のチャンネルで投稿を共有しました"); 

    }

    else

    {

     responseMap.put("result", "failure");

     responseMap.put("message", "問題が発生しました。投稿を共有できませんでした。"); 

    }

    return responseMap;

 メニューをクリックしたときに入力フォームを表示する方法

上記の例において、投稿のURLをどのグループ/チャンネルに共有するかを選択できるようにしたいとします。このような場合は、独自メニューがクリックされたときに、投稿先を選択するためのフォーム画面が表示されるように設定します。 
フォーム画面が表示されるようにするには、メニュークリックきっかけ処理の処理結果(レスポンス)として、「フォームオブジェクト」という種類の値を出力する必要があります(パラメーター名:form)。フォームオブジェクト内で指定する値の詳細は以下のとおりです。 
  
パラメーター名
種類
説明
必須/任意
title
テキスト(上限:25文字)
フォームのタイトル
必須
hint
テキスト(上限:250文字)
フォームの目的に関する簡単な説明
必須
fields
JSON形式の配列
ユーザーの入力内容を保存するための配列(詳細については表3を参照)
必須
buttonLabel
JSON形式のオブジェクト
フォームの送信/キャンセルボタン 
(詳細については表5を参照)
任意
表2(フォームオブジェクトの詳細)

入力項目の設定 

フォームには、ユーザー用の入力項目を20件まで設定できます。この設定には、「項目オブジェクト」という種類の値を使用します(パラメーター名:fields)。各項目には、重複しないようにラベル(表示名)を設定する必要があります。テキスト(文字列)、日付、日時、選択リストの種類の項目を設定可能です。選択リスト項目では、それぞれの選択肢の値を設定できます。項目オブジェクトの詳細は、以下のとおりです。
 
 
パラメーター名
値の種類/内容
説明
対象項目
必須/任意
type
textBox、textArea、select、multiSelect、date、dateTime
項目の種類を指定します(textBox:1行テキスト、textArea:複数行テキスト、select:単一選択リスト、multiSelect:複数選択リスト、date:日付、dateTime:日時)。
すべての項目
必須
name
テキスト(英数字とアンダースコア(_)のみ使用可能)
重複しない(一意の)パラメーター名を指定します。項目でユーザーから収集されたデータは、このパラメーター名に関連付けられて処理されます。また、パラメーター名は、各項目を区別するためにも使用されます。
すべての項目
必須
label
テキスト(上限:250文字)
項目の表示名です。フォーム上に項目名として表示されます。
すべての項目
必須
hint
テキスト(上限:200文字)
項目に関する簡単な説明を記入します。
すべての項目
任意
placeholder
テキスト(上限:100文字)
項目内に表示するサンプルの内容です。
1行テキスト、複数行テキスト、単一選択リスト、複数選択リスト
任意
value

項目の種類
形式
textBox、 
textArea
テキスト(上限:5000文字)
select
選択肢のid
multiSelect
選択肢のidのCSV
dateTime
dd-mm-yyyy hh:mm:ss
date
dd-mm-yyyy

フォーム内の各項目の値を設定します。
すべての項目
任意
maxLimit
範囲:2~5000
入力欄の最大文字数を指定します。
1行テキスト、複数行テキスト
任意
minLimit
範囲:2~5000
入力欄の最小文字数を指定します。
1行テキスト、複数行テキスト
任意
mandatory
値:true、false
初期値:  true
入力必須としたい場合、「true」に設定します。「true」に設定した場合、該当の項目に値を入力しないとフォームを送信できません。
すべての項目
任意
readOnly
値:true、false
初期値:  false
ユーザーによってこの項目の値を変更できないようにしたい場合、「true」に設定します。
1行テキスト、複数行テキスト
任意
hide
値:true、false
初期値:  false
項目を表示するか非表示にするかを指定します。
すべての項目
任意
dataSource
値:user、group、network、board
指定した種類に応じた値をZoho Connectのデータから取得します(例:groupを指定した場合は、グループの値を取得します)。
単一選択リスト、複数選択リスト
任意
triggerOnChange
値:true、false
初期値:  false
この項目に値が入力されたときにフォーム変更きっかけ処理を実行したい場合、「true」を指定します。
すべての項目
任意
lookup
値:true、false
初期値:  false
この項目に値が入力されたときにルックアップ項目きっかけ処理を実行したい場合、「true」を指定します。
単一選択リスト、複数選択リスト
任意
triggerLength
範囲:1~5
初期値:1
項目に何文字入力されたときにルックアップ項目きっかけ処理を実行するかを指定します。
単一選択リスト、複数選択リスト
 
(lookupのパラメーターの値が「true」になっている場合)
任意
options
JSON形式の配列
上限:3000
選択リストに表示したい選択肢の配列を設定します 
(詳細については表4を参照)。
単一選択リスト、複数選択リスト
任意
表3(項目オブジェクトの詳細)
 

単一選択リストまたは複数選択リストの選択肢には、以下の内容を指定します。 
 
 
パラメーター名
種類
説明
必須/任意
id
テキスト(上限:100文字)
 
英数字とアンダースコア(_)のみ使用可能
重複しない(一意の)パラメーター名を指定します。
必須
label
テキスト(上限:100文字)
選択肢の表示名を指定します。こちらで指定した名前が、フォーム上でユーザーに対して表示されます。
必須
value
テキスト(上限:100文字)
選択肢の値
任意
iconUrl
URL(上限:500文字)
アイコン画像がある場合、アイコン画像のURLを指定します。画像は選択肢の隣に表示されます。
任意
表5(選択肢オブジェクトの詳細)
  
フォームには、キャンセルボタンと完了ボタンの2種類のボタンを設置できます。ボタンに表示するテキストは変更可能です。ボタンの設定内容は、「ボタンラベルオブジェクト」という種類の値を用いて指定します(パラメーター名:buttonLabel)。ボタンラベルオブジェクトの詳細は以下のとおりです。
 
パラメーター名
種類
説明
必須/任意
cancel
テキスト(上限:15文字)
初期値:Cancel
キャンセルボタンに表示するテキストを指定します。
任意
done
テキスト(上限:15文字)
初期値: Done
完了ボタンに表示するテキストを指定します。
任意
表6(ボタンラベルオブジェクトの詳細)
 
キャンセルボタンをクリックするとフォームが閉じ、完了ボタンをクリックするとフォーム送信きっかけ処理が実行されます(フォーム送信きっかけ処理は、フォーム送信時に実行する処理を設定するものです)。なお、メニュークリックきっかけ処理は、フォーム送信きっかけ処理を設定しないと完了できません。これは、メニューのクリック後、フォームが入力されて送信されたときに、フォーム送信きっかけ処理において入力内容が検証され、必要な処理が行われるためです。  

メニュークリックきっかけ処理の設定でフォームオブジェクトを使用している場合は、フォーム送信きっかけ処理を設定する必要があります。フォーム送信きっかけ処理には、フォームの入力内容を検証し、送信する処理を設定します。これにより、適切なデータが送信されるように担保できます。