はじめに
開始日と終了日を指定して、その中から日付を取り出して繰り返し処理を行いたいときに、
画面のカスタマイズでは、「日付の範囲から日付を取り出す」という「やること」があるのですが、Job Runnerでは同じような「やること」がありません。
ですがJob Runnerでは、先にマスタアプリを準備しておき、そこに日付ごとのレコードを用意しておくことで同じような動きを作成することができます。
今回は、他のサービス等でレコード追加されたときに、kintoneのWebhook通知からJob RunnerのkintoneアプリのWebhookカスタマイズを動作させる想定で、
「開始日」フィールドと「終了日」フィールドがあり、レコード追加をしたときに、その期間の各月の月初をサブテーブルに書き出すというカスタマイズをご紹介します。
Webhookカスタマイズが初めての方は、はじめてのWebhookカスタマイズ : 関連レコードの集計も併せてご覧いただくとスムーズです。
使用するアプリとフィールド
フィールド名とフィールドコードは同じにしているため省略します。
・運用アプリ
また、kintoneアプリのAPIトークンを次の様に設定してください。
※「レコード閲覧」「レコード編集」設定のみ
・月初日マスタアプリ
また、kintoneアプリのAPIトークンを次の様に設定してください。
※「レコード閲覧」設定のみ
実行イメージ
レコードが追加されたときに、kintoneのWebhook通知(レコード追加)が発生し、Job RunnerのkintoneアプリのWebhookカスタマイズが実行され、最終的にテーブルに書き出しを行う動きとなります。
※事前に、他のサービスからのレコード追加時にkintoneのWebhook通知が発生するのかを確認しておいてください。Webhook通知が発生しないサービスの場合、このカスタマイズは利用できません。
・運用アプリに追加されたレコード
・月初日マスタのレコード
・テーブルに書き出された結果
カスタマイズ例
ここから、カスタマイズ例に沿ってご説明します。
kintone 接続設定
まず、やること「kintone 接続設定を行う」を「月初日マスタアプリ」(閲覧)と「運用アプリ」(閲覧、編集)の2つ、設定します。
Webhookから渡されたレコードの取得
次に、やること「Webhook から渡されたレコードを取得する」でWebhookから渡されたレコードを取得します。
他サービスからは1件だけ追加されて、ここで渡されるレコードも1件の想定です。
取得したレコード情報を元にマスタからレコード取得
続いて、やること「条件を組み立ててレコードを取得する」を使い、Webhookから渡されたレコードの「開始日」〜「終了日」となるレコードを「月初日マスタアプリ」から取得します。
また取得の際、日付の昇順となるように並べ替えるのも忘れずに設定しておきます。
取得した結果をテーブルに書き出す
最後に、やること「レコードをテーブルに書き出す」でテーブルの書き出しを行います。
テーブルには初期状態の空行が1行入っているため、「既存のテーブル行はクリアする」として、今回書き出す行だけが残るようにします。
ここまでできたら、カスタマイズは完成です。続いてkintoneアプリのWebhookを設定します。
kintoneアプリのWebhook設定
作成したWebhookカスタマイズからジョブを生成し、URLをkintoneに設定しておきます。
運用アプリのkintoneのWebhook設定は下図のように「レコードの追加」を選択した状態で指定しておきましょう。
実行確認
まずはテスト実行を行い、エラーが発生せず正常終了できるかご確認ください。
Job Runnerテスト実行については次の記事が参考になります。併せてご覧ください。
その後、実際に他サービスからレコード追加を行い、動作を確認してみてください。
手動で追加画面からレコード保存を行うことでもJob Runnerの実行確認は可能ですが、最終的には必ず、他サービスからレコードを実際に追加してみて、動作確認するようにしてください。
まとめ
Job Runnerでも、「日付の範囲から日付を取り出す」と同じようなカスタマイズができるということをご紹介させていただきました。
アイデア次第で、いろいろなカスタマイズに応用できると思いますので、ぜひお試しくださいね。
Customineドキュメントやサポートページもぜひご活用ください。
また、ご不明点等ございましたら、チャットにてご質問ください!