DataSpider × kintone連携

DataSpider を使って、kintone アプリのデータ連携処理を作成します。

DataSpider には kintone アダプタが用意されており、
[レコード取得] [レコード追加] [レコード更新] [レコード削除] [API呼び出し] の処理を実行することができます。

#今回のシナリオ
オンプレにある Excel ファイルのデータを kintone に書き込みます。

<img width="686" alt="kintone連携.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/04bcca86-81f6-55ba-0299-7e51b7c22b9a.png">



#スクリプト作成方法
1. DataSpider にログインします。
2. プロジェクト・スクリプトを作成します。

<img width="525" alt="デザイナ画面.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/28086de8-fe46-1a80-313c-1200b403b578.png">
▲処理の開発を行うデザイナ画面

##データ読み取り処理
kintone に書き込むデータの読み取り処理を作成します。

今回は Excel ファイルのデータを利用します。
DataSpider 画面右側の[ツールパレット]より、[ファイル] -> [Excel] -> [シートから読み取り] アイコンをキャンバスにドラッグ&ドロップし、設定します。
<img width="200" alt="Excelアイコン.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/abf38297-b304-9d95-870f-dc9f9bbac7b6.png">

<img width="500" alt="Excel読み取り処理.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/343b41cc-0509-b5c5-1759-cedd10f0561b.png">

▲読み取る Excel ファイル、範囲を指定


##レコード追加処理
kintone アダプタの[レコード追加]アイコンを利用し、取得した Excel データを書き込む処理を作成します。

1. DataSpider 画面右側の[ツールパレット]より、[クラウド] -> [kintone] -> [レコード追加] アイコンをキャンバスにドラッグ&ドロップします。
<img width="200" alt="レコード追加アイコン.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/82c66824-b1b4-2489-9e5e-d1f74d0c86e0.png">

2. 設定画面に沿って、処理の設定をします。
<img width="500" alt="レコード追加処理.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/ca28d7db-c2c2-12f1-4f7c-fe763f8f0d13.png">


3. **[接続先]**の設定をします。

4. フィールド一覧右下にある**[フィールド一覧の更新]**を押下し、指定したアプリのフィールド情報を取得します。
5. フィールド一覧内の[書き込み対象]のチェックボックスでデータを書き込むフィールドを指定します。
<img width="500" alt="レコード追加処理設定画面.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/beef831f-67e6-40df-a501-6ef7e9cd8a42.png">

###接続設定について
DataSpider から kintone に接続するための設定です。
接続設定はアプリ単位に設定します。
同じアプリに対する処理であれば、接続設定を再利用することが可能です。
　<img width="400" alt="接続設定画面.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/c8bd153d-f76e-1793-8397-52261fc9e2e8.png">
**必須設定**
- サブドメイン名：「●●●.cybozu.com」の●●●部分
- アプリID
- ログインID/PASS

##Mapper でデータの加工・変換
Mapper アイコンを利用すると、データの加工・変換処理を行い、出力することができます。
今回は、[品名]の入力文字列の全角を半角に変換し、[分類コード]が「1001」であるデータのみを抽出する、というロジックを組んでいます。
<img width="513" alt="mapper.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/35a5b050-395a-b6d2-52c3-97e12ce3f67a.png">
　▲Mapper 画面

今回のシナリオは以上です。
[Start] から [End] まで、処理の順番にプロセスフローを繋ぎます。

<img width="350" alt="完成スクリプト.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/d729dcd6-5c59-d1a7-31ba-124f15e2ac5c.png">


これで処理は完成となります。

#その他の kintone アイコン紹介

##レコード取得
アプリ内のレコードを取得します。
検索クエリを記述することも可能です。
<img width="500" alt="レコード取得.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/ef51d6ed-aaca-ada2-4d3b-5d5dd45cdcc3.png">

##レコード更新
読み込んだデータをもとに、アプリ内のレコードを更新します。
<img width="500" alt="レコード更新.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/f20bc657-9bd3-d8bf-df76-ff7fd95c50dd.png">

##レコード削除
アプリ内のレコードを削除します。
<img width="500" alt="レコード削除.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/2b8409e7-71f2-d59a-4835-ad6012ff23ec.png">

##API 呼び出し
kintone API を呼び出します。
<img width="500" alt="APi.png" src="https://qiita-image-store.s3.amazonaws.com/0/102528/a914d5c9-8a3a-7b80-88fd-14b24fdef608.png">


#まとめ
- DataSpider を利用すると、様々なフォーマットのデータを kintone と連携することができます。
- API を使わなくても、簡単にレコードの取得・追加・更新・削除の処理を作成できます。
- データ連携フローのひとつとして、kintone 連携を組み込むことができます。