スケジュール処理におけるきっかけ処理の設定

スケジュール処理におけるきっかけ処理の設定

この機能を利用できるプラン:

スケジュール処理におけるきっかけ処理の設定 

きっかけ処理とは、何らかの処理が実行されるタイミングで、別の任意の処理を実行するための仕組みです。Zoho Connectのスケジュール処理では、指定した時間になると、きっかけ処理に設定した独自の処理が自動で実行されます。きっかけ処理による処理内容は、カスタム関数を用いて設定します。カスタム関数の設定には、Zohoの独自のスクリプト言語であるDeluge(デリュージ)を使用します。カスタム関数の実行時には、以下の情報を取得して使用できます。 
 
名前
データの種類(型)
説明 
ネットワーク 
Map
ネットワークの情報
ユーザー
Map
設定者の情報 
 
以下では、実際にきっかけ処理の設定例(サンプルコード)をご紹介します。こちらでは、Zoho Connectから、その日に自分に割り当てられているタスクの一覧を取得し、Zoho Cliqのボット(通知用ロボット)を通じて自分宛てに送信します。スケジュール処理は平日午前10時に繰り返し実行します。この場合、まず、スケジュール処理の作成画面で、スケジュール処理の名前、説明を入力し、繰り返しの頻度として毎週月曜日から金曜日の午前10時を指定します。 
 
次に、きっかけ処理の欄でカスタム関数を設定します。処理を実行するためのサンプルコードは以下のとおりです。なお、連携用の認証情報(Connections)の設定は、別途行っておく必要があります。  
  1. returnMap = Map();

    scopeId = network.get("id");//スケジュール処理を実行するネットワークのIDを取得

    //連携用の認証情報の設定を使用して、Zoho Connectからデータを取得(設定名の例:zohoconnectoauth)

    response = invokeurl

    [

     url :"https://connect.zoho.com/pulse/api/tasks"

     type :GET

     parameters:{"dates":"today","scopeID":scopeId}

     connection:"zohoconnectoauth"

    ];

    info response;

    if(response.containKey("result") && response.get("result") == "failure")

    {

     returnMap.put("status","failure");

    }

    else

    {

     tasks = response.get("tasks").get("tasks");

     formatedDate = response.get("tasks").get("todayFormattedDate");

     rows = list();

     for each task in tasks

        {

      row = map();

      row.put("タイトル", task.get("title"));

      row.put("セクション", "["+task.get("section").get("name")+"]("+task.get("section").get("url")+")");

      row.put("ボード", task.get("partition").get("name"));

      row.put("ステータス", task.get("taskStatus").get("name"));

      row.put("優先度", task.get("taskPriority").get("name"));

      rows.add(row);

        }

    //Zoho Cliqで表示できる形式に変換

     content = formatedDate+"が期限のタスク";

     message = {"text":content,"card":{"title":"今日のタスク", "thumbnail":"サムネイル画像のURL", "theme":"modern-inline"},"slides":[{"type":"table", "title":"タスク一覧", "data":{"headers":["タイトル","セクション","ボード","ステータス", "優先度"],"rows":rows}}]};

    info message;

    //連携用の認証情報の設定を使用してメッセージをZoho Cliqに送信(設定名の例:zohocliqoauth)

     

テスト実行

カスタム関数の編集画面で、スケジュール処理を設定したら、画面右上に表示されている[保存して実行する]をクリックします。 
 
なお、スケジュール処理が完了していない場合にも、スケジュール処理の結果が成功として表示される場合があります。上記の例の場合、Zoho Cliqの認証失敗などが原因でメッセージがボットに送信されていないにも関わらず、実行履歴では処理結果が成功として表示されてしまうことがあり得ます。実際の処理結果と表示ステータスを一致させるためには、実際の処理結果に基づく値を出力する必要があります。この点に対応したサンプルコードが以下です。  

  1. cliqResponse=zoho.cliq.postToBot ("新しいタスク",message, "zohocliqoauth");

    if(cliqResponse == null || cliqResponse.containKey("status") == false || cliqResponse.get("status") != "success")

    {

    returnMap.put("status","failure");

    }


以上のサンプルコードを使用すると、メッセージがZoho Cliqに実際に送信された場合にのみ、ステータスが成功として表示されます。 

処理の失敗

スケジュール処理の実行が失敗した場合は、設定者宛てに通知が送信されます。コードの不備、外部連携や認証などの問題によってうまく実行できない場合は、実行履歴にアクセスして、処理を手動で実行することもできます。ただし、100回連続で失敗すると、処理は自動的に無効に設定されます。 
 
ご不明な点は、support@zohoconnect.comにお問い合わせください。