JobRunner 期間指定したキントーンレコード定時作成
来月のレコードを作成したい
- その場合色々な方法があると思います
- CSVを読み込ませる
- プラグインを使用する
- 連携サービスを使用する
kintoneに答えがないので、どんなルートでもできるってのは嬉しいやら悲しやらw
ただ、どの方法にも共通しているのが、何かしらアクションを起こさないといけないってことです
CSVを読み込ませる、プラグインで実行ボタンを押すとかですね
ってことで、今回はそんな悩みを解決するCustomineのJon Runnerって新機能を使ってみました
Customine Job Runnerとは?
今まで、Customineでは
- レコード一覧画面を開いた時
- ボタンを押した時
など、何かしらアクションした際にカスタマイズが実行される仕組みでした
詳細画面を開くのが面倒くさい・・・
実行することは決まっているんだから、定時で実行してくれたら・・・
期間指定してレコードを定時作成してみた
ということで、Job Runnerを使ってレコードを作成するカスタマイズを作ってみました
定期的にkintoneレコードを作成したい
Customine JobRunnerで実現したいこと
月末にとある条件で絞り込んだレコードに対して、次月の日数分レコードを作成したい
例えば、日報を事前にレコード登録しておくが、各職員分顧客分を月末に作成したい
JobRunnerを使わないのであれば、ボタンを押したタイミングでレコードを作成するのですが、押し忘れを防止するためにも定時実行したい!!
⓪JobRunner利用前準備
セキュアアクセス環境であれば、以下のページを参考にCustomine接続を許可する必要があります
あと、アプリスロットをジョブへ割り当てる必要があります(割り当てていないと、実行できないので注意が必要です)
では、カスタマイズを1つ作ってみましょう・・・
①Customineとkintone接続設定を行う
通常のCustomineではみたことのないアクション「kintone接続設定を行う」
クエリで条件を指定してレコードを取得する際、どのアプリから取得するのか?取得するアプリをkintone接続設定を行うを事前にアクションで実行しておく必要があります。
ということで、今回はレコード登録したい人を絞り込む為のマスターアプリと、空の記録レコードを登録する記録アプリの2つのアプリを設定しました。
②特定の日付を取得する
来月の期間分をレコード登録したいので、特定の日付を取得するで
- 来月月初
- 来月末日
2つの日付を取得しておきます
③クエリで条件を指定してレコードを取得する
次に、今回はとある条件で絞り込んだレコード分、空レコードを1ヶ月レコード登録したいので、
- ステータスが利用中
- 曜日に月がチェックで入っている
という条件を(曜日 in (“月”) and ステータス in (“利用中”))とクエリにして、クエリで条件を指定してレコードを取得するアクションを設定しました
④日付の範囲からレコードを追加する
最後に日付の範囲からレコードを追加するというアクションを設定します
この日付の範囲は③クエリで条件を指定してレコードを取得するで設定して月初と月末日をそれぞれ開始日終了日として設定します。これでレコードを追加する日付の範囲が来月1ヶ月分となりますね。
ここで僕がしたミスは、アクションの実行条件をレコード全行が準備できた時を選択してしまったことです。絞り込んだレコードは複数あるのに、1つのレコード分しかレコードが登録されていませんでした。
R3チャットサポートに問い合わせすると「レコード1行が準備できた時をお使いください」
最後にスケジュール設定
スケジュール設定は複数設定できるみたいですので、毎時とかも可能か(1アプリスロットで1時間/月タスクが実行できるので、無限ではない)
実際に動作を確認してみましたが、しっかりと絞り込んだレコード分の翌月1ヶ月分レコードが追加されていました。
今回使ったアクションの1つ日付の範囲からレコードを追加するは、指定した期間全てレコード登録してくれるんですが、更に曜日などの条件を加えることは現状できないそうです(確認済)
でも、この期間のレコードを追加したいってことは結構多いので、これから多用していきたい!!