指定した日時にkintoneアプリへレコードを追加する処理は、Job Runnerの定期実行タスクを利用すれば実現可能です。


このページでは、下記について取り扱います。

  • 定期実行タスクでkintoneアプリにレコードを追加する

  • 追加するレコードには、他のアプリから取得したレコードをテーブル行として登録する

  • ルックアップを含むレコードを追加する


アプリの設定

今回のカスタマイズでは3つのアプリを用います。


従業員名簿アプリ

※フィールドコードはフィールド名と同じものを指定してください

フィールド名

フィールドタイプ

備考

社員番号

文字列(1行)

必須入力にする

値の重複を禁止する

氏名

文字列(1行)



編集画面での表示は次のようになります。


商品在庫アプリ

※フィールドコードはフィールド名と同じものを指定してください

フィールド名

フィールドタイプ

備考

商品コード

文字列(1行)

必須入力にする

値の重複を禁止する

商品名

文字列(1行)


在庫数

数値



編集画面での表示は次のようになります。


担当管理アプリ

※フィールドコードはフィールド名と同じものを指定してください

フィールド名

フィールドタイプ

備考

コード

文字列(1行)

必須入力にする

値の重複を禁止する

社員番号

ルックアップ

従業員名簿アプリから社員番号を取得

担当者

文字列(1行)

ルックアップのほかのフィールドのコピーで取得

商品テーブル

テーブル


商品コード

文字列(1行)

商品テーブル内フィールド

商品名

文字列(1行)

商品テーブル内フィールド

在庫数

数値

商品テーブル内フィールド


編集画面での表示は次のようになります。


APIトークンの取得

Job Runnerはkintoneアプリへの接続にAPIトークンを使用します。

この時、カスタマイズの中で使用するkintoneアプリ全てにAPIトークンの取得が必要となりますので、カスタマイズを作る前に”カスタマイズでどのkintoneアプリを使用する必要があるか”を確認してください。


今回は「担当管理」「従業員名簿」「商品在庫」の3つのアプリをカスタマイズで使用します。


「従業員名簿」は、カスタマイズの中でレコードを取得する処理はないのですが、kintoneの仕様として「担当管理アプリ」にレコードを追加するタイミングでルックアップの取得が自動的に行われるため、その処理にAPIトークンが必要となります。


Job Runnerでレコードの追加・編集を行うアプリにルックアップフィールドが存在する場合は、この点に注意してください。


3つのアプリでそれぞれAPIトークンを取得します。

APIトークンの取得は、各kintoneアプリの、アプリの設定→APIトークンから設定できます。

  • 担当管理
    ⇒レコードを追加したいので、レコード追加のみ許可します。

  • 従業員名簿
    →ルックアップを取得したいので、レコード閲覧のみ許可します。 

  • 商品在庫
    →こちらもレコードを取得したいので、レコード閲覧のみ許可します。


カスタマイズの作成

Job Runnerの定期実行タスクを作成します。


kintoneアプリへ接続

まず、kintone接続設定で3つのアプリに接続します。

接続対象となるアプリ1つにつき、やること「kintone 接続設定を行う」のアクションを1つ作成してください。

スタート地点となるアクションの条件には「実行予定時刻になった時」を用い、2つ目以降のアクションの条件には「他のアクションの実行が完了した時」を設定します。



商品在庫アプリからテーブルに追加するためのレコードの取得

kintoneアプリへの接続が完了したら、新しく追加するレコードのテーブル行として登録するため、商品在庫アプリからレコードを取得します。


ここでは、やること「条件を組み立ててレコードを取得する」、条件「他のアクションの実行が完了した時」を用い、kintone接続設定の最後のアクション「3」を指定します。

キーを指定してレコードを取得する」などレコードを取得する他のやることでも構いません。


取得先アプリは「商品在庫」、APIトークンには商品在庫アプリに接続した、アクション番号「2」を指定します。

検索条件は次の画像のように条件を指定します。今回は、商品コードが”A001”と一致するレコードを取得する条件を指定しました。


テーブル行をセットした状態のレコードの追加

「担当管理アプリ」に、テーブル行をセットした状態のレコードを追加します。


ここでは、やること「テーブルデータをセットしたレコードを追加する」を用います。

追加先アプリには「担当管理アプリ」を指定してください。

ここでポイントになるのが”追加先アプリのAPIトークン”です。


ここに「kintone 接続設定を行う」のアクションを指定する際に、下記の二つを指定します。

  • 担当管理アプリ(今回は「担当管理アプリ」)

  • 担当管理アプリ内のルックアップフィールドのルックアップ元アプリ(今回は「従業員名簿」)


追加先のアプリにルックアップフィールドが存在し、マッピングで指定する場合は、「追加先アプリのAPIトークン」に、追加先のアプリだけでなくルックアップ元のアプリも指定することを忘れないでください。

指定し忘れると、定期実行タスクのジョブ実行時にエラーになります。


「テーブルの元になるレコード」には、テーブル行として追加したいレコードを取得したアクション番号「4」を指定しました。


アクションの条件には「レコード全行が準備できた時」を指定します。

これは、テーブル行として追加したいレコードが全て準備完了となってから、レコード追加を行いたいためです。

レコード取得アクションには「4」を指定しました。


以上で定期実行タスクの設定は完了です。


カスタマイズができたら

Job runnerでのカスタマイズは、作りによっては大量のレコードを一気に更新してしまう事があるので、実行する前にカスタマイズが正しく設定できているか改めて確認しておきましょう。

Job Runnerテスト実行の使い方 などを参考にJob Runnerのテスト実行を行ってみるのもおススメです!


なお、当ページでは一気にアクションを作成していますが、実際に作成される際は1アクションごとに実行し、エラーが起きていないか確認しながら進めてみてください。


特に、APIトークンを指定する箇所は間違いやすい箇所です。

”その処理で使っているAPIトークンをもれなく指定できているか?”を常に確認しながら進めてください。


問題なさそうでしたら、「ジョブ生成・設定」ボタンを押し、ジョブ設定画面で「直ちに実行」ボタンを押してみてください。

その後、「実行履歴」タブで実行結果を確認してください。


エラーがなければ問題なく動いているかと思いますが、「終了」や「実行時間(秒)」に値が入っていなければまだジョブの実行は完了していません。


こちらの更新ボタンを押して、最新の状態に更新してみてください。

また、kintoneアプリにレコードが追加されているかどうかも確認してください。


問題なくレコードが追加されていたら、次にスケジュール設定です。

スケジュール設定については、はじめての gusuku Customine Job Runner : 年齢計算のカスタマイズ の下部「カスタマイズの実行」の「定期実行」の箇所にてご案内しておりますのでご確認ください。


ご不明な点などございましたら、お気軽にチャットでご質問ください。


Customineドキュメントサポートページもぜひご活用ください。