こちらの記事では、はじめて gusuku Customine Job Runner を使い始める方向けに、簡単なカスタマイズ作成方法をご紹介します。


まずはじめにやること

Job RunnerでkintoneのWebhookや定期実行タスクのカスタマイズを作成する前に、まず「ジョブへのスロット割り当てについて」を実施する必要があります。


これは、利用中のアプリスロットをどの程度Job Runnerで利用できるようにするか、という設定になります。

詳しくは Job Runnerを利用するとき、初めにすること : ジョブへのスロット割り当てについて をご確認ください。


カスタマイズの種類について

gusuku Customine で作成できるカスタマイズには、以下の種類があります。

  • kintone アプリのカスタマイズ : ユーザーの画面操作に連動した処理
  • Webhook のカスタマイズ : kintone の Webhook に連動して実行する処理
  • 定期実行タスク : 毎日xx時、1時間おき など定期的に実行する処理

こちらの記事では、定期実行タスクとして「年齢計算」を取り上げてみたいと思います。

カスタマイズの流れとしては、以下のようになります。

  • kintoneアプリと接続設定を行い
  • レコードを取得
  • 取得したレコードに対して年齢計算を行う

それでは始めましょう!


kintoneアプリと全体の流れについて

今回利用するkintoneアプリに必要なフィールドは、以下の2つです。

  • 生年月日(日付)
  • 年齢(数値)

生年月日のフィールドをもとに、年齢のフィールドを1日1回定期的に計算し直す、というカスタマイズになります。



定期実行タスクの作成手順

カスタマイズ一覧画面からは「新規のカスタマイズ作成」→「定期実行タスク」、カスタマイズ画面からは左上のメニューから「新しいカスタマイズ」→「定期実行タスク」で定期実行タスクの作成を開始します。


作成するプロジェクトを選択し初期画面が表示されると、アクション1番と2番に初めからやることと条件が設定されています。

これらの設定は、定期実行タスクでの定番となる設定が自動的にセットされた状態になります。これを順に説明していきたいと思います。


まずは接続設定

はじめに kintone 接続設定を行う実行予定時刻になった時 という条件がセットされています。


これは定期実行タスクでの定番のパターンです。レコードを取得したり更新したりと、kintoneアプリに接続するためには必ずAPIトークンの設定が必要です。


ここで設定するAPIトークンは、kintoneアプリ側で予め設定が必要です。 

今回は、このAPIトークンを利用してレコードの取得と更新を行いますので、アクセス権として「レコード閲覧」と「レコード編集」を持ったAPIトークンを作成してください。生成した後、保存して「アプリを更新」するのを忘れないようにしてください。



APIトークンについては、以下の点にご注意ください。

  • APIトークンに付与する権限は、よく検討し必要最小限のものを付与するよう心がけてください。
  • 生成したAPIトークンは取扱に注意し、第三者に知られないようにしてください。

「kintone 接続設定を行う」の設定に、今設定したアプリとAPIトークンを設定します。


レコードの取得と、その操作

接続設定をした後は、レコードを取得したり、更新したりすることが可能となります。設定全体はこちらになりますので、ご確認ください。この3行で年齢計算は完了です!


レコードを取得するやることとして、ここでは「全レコードを取得する」を使用しています。 レコードを取得する一番簡単なやることですが、アプリにあまりに多くのレコードがある場合には、非常に時間がかかったり、場合によってはジョブがタイムアウトしてしまう可能性がありますので、ご注意ください。


そのような場合には、「キーを指定してレコードを取得する」などの、他のやることの利用を検討してください。


レコードを取得した後の流れ

レコードを取得した後に、条件「レコード1行が準備できた時」をしています。これもJob Runnerでは典型的なパターンになります。

これにより、取得したレコードを1レコードずつ操作することが可能になります。


今回のやりたいことは年齢計算ですので、この条件と組み合わせ、ここで「年齢を計算する」を実行しています。

カスタマイズは以上です!


レコードの保存は?

年齢計算は、計算しただけで保存されないのではないか?と思われるかもしれませんが、ご安心ください。保存は自動で実行されます。


kintoneから取得して、そのあと操作されたレコード、例えば「フィールドに値をセットする」でなにか値がセットされたレコードは、ジョブの最後にまとめて保存されます。 基本的にはレコードの保存を自分で考慮する必要はありません。


カスタマイズの実行

作成したカスタマイズを実行するには、画面上部の黄色い「ジョブ生成・設定」ボタンをクリックしてください。ジョブが生成され、ダイアログが開きます。詳しい使い方についてはこちらのページをご確認ください。

ここで左下の「直ちに実行」をクリックすると、作成したカスタマイズが実行されます。「実行履歴」のタブで実行結果を確認してみてください(履歴が出てこないようであれば、ダイアログ左上のリロードボタンをクリックしてみてください)。


また、kintoneアプリ側で、思ったようなカスタマイズが実行されているかをご確認ください。


スケジュールの設定

動作を確認し、問題ないことが確認できたら、このジョブを定期的に実行するように設定しましょう。


「設定を追加」をクリックして、例えばこのように業務開始前の朝7時に実行するようにセットします。設定が終わったら、最後に右下の「設定保存」を忘れずにクリックしてください。 これで、毎日最新の、その日の年齢が計算されることになります。


実際のアプリでは、これに加えてkintoneアプリのカスタマイズで「年齢を計算する」を利用して、レコード保存時当日の年齢を計算しておけば、完璧です!


まとめ

以上で定期実行タスクの簡単な使い方のご紹介を終わります。非常に簡単にレコードを取得して更新できることを、ご確認いただければと思います。


レコードの更新は簡単に出来る分、思いもよらない大量のレコードを、意図しない内容で更新したりすることも可能です。 カスタマイズ作成の際には、テストアプリとテストデータでよくテストの上、実際のアプリに適用していくことをおすすめします。