カテゴリー内の他の記事

kintone コマンドラインツール Version 0.9.0 新機能紹介

フォローする

Index

kintone コマンドラインツールって?

kintoneコマンドラインツール(通称: cli-kintone)とは、コマンドラインを使って、kintone上のデータのインポートとエクスポートができるツールです。

詳細は下記の記事をご覧ください。

Version 0.9.0で対応されたこと

2018/1/10に、Version 0.9.0がリリースされました!
対応内容:

  • ユーザーエージェント名を修正
  • 標準入力をインポートデータに指定できるようにする機能を追加
  • CSVの読み込み開始行を指定できる機能を追加
  • 100行以上のインポート処理でエラーメッセージが表示されない問題に対応し、
    インポート処理で100行毎に結果を出力するよう修正
  • Basic認証のロジックを修正

本記事では、Ver.0.9.0で追加された3つの新機能について、細かく解説していきます!

標準入力をインポートデータに指定できるようにする機能(--import オプション)

「--import」オプションが追加されました。

オプション 説明
--import kintoneにデータをインポートする場合に指定します。
データは標準入力からインポートされます。
-f オプションも指定されている場合、対象ファイルからデータがインポートされます。

今までのコマンドラインツールでは、インポートするデータをCSVファイルで用意する必要がありました。
Ver.0.9.0からは、コマンドライン上のデータをそのままインポート可能です!

使用例:標準入力からインポート

※ printf コマンドはbashで利用できるコマンドです。Windowsでは利用できません。

使用例:コマンドラインツールのエクスポート結果をそのままkintoneへインポート

パイプライン「 | 」でつなぐことで、コマンドライン上に出力されたエクスポート結果を、そのままインポートすることができます。

チュートリアル 「第9回 レコードのデータをもとにマスタアプリのレコードを更新してみよう」では「/dev/stdin」を利用する方法が紹介されていましたが、
これからは「--import」オプションで簡単に実現できますね♪

CSVの読み込み開始行を指定できる機能(-l オプション)

「-l」オプションが追加されました。

オプション 説明
-l データをファイルからインポートする場合に、インポート開始行を指定します。
このオプションを指定すると、データのインポートは指定した行から開始されます。

使用例:CSVファイルの5行目からデータをインポートする

"-l 5"を指定したので、CSVファイルの5行目以降がインポートされます。

image01.png

Ver.0.9.0より前のコマンドラインツールでは、CSVからのデータインポートでは必ず「インポートしたいデータのみ入ったファイル」を用意する必要がありました。
Ver.0.9.0以降ではインポート開始行が指定できるので、「データの途中からインポートしたい」という場合にもCSVファイルを作り直す必要がなくなります。
大量データのインポートを行う場合は特に重宝する機能ですね!

データインポート時に処理結果を出力

データインポート時に、処理結果がコマンドライン上へ出力されるようになりました!
まずは見てみましょう。

インポート成功

300行のCSVデータをインポートする例です。
データ100行ごとに、処理結果が出力されていることがわかります。

インポートエラー

CSVファイルの260行目でエラーが発生した場合

インポートの途中でエラーが発生した場合、処理結果で「ERROR OCCURRED」となった箇所以降のデータインポートが行われません。
例えば上記例のように260行目でエラーが発生した場合は、201行目以降がインポートされていません。
CSVファイルを修正して再インポートしたい場合は、"-l 201" を指定して201行目からインポート再開すればOK!
(エラーメッセージの最後でちゃんと案内されていますね。)

エラーの詳細

上記のエラー例について、エラーの詳細な確認/対応方法を解説します。

例では、数値フィールドへ入れる値に文字列が含まれているためにエラーが発生しています。

  1. 「ERROR OCCURRED」がどこで発生しているか確認
     ⇒ 「Start from lines: 201 - 300」なので、201~300行目の間で発生している。
  2. 「Errors detail」を確認
    ⇒ 出力内容: 'records[59][Zipcode].value': 数字でなければなりません。
    ⇒ 60番目のレコードの「Zipcode」フィールドの値に関するエラー(配列の添字は0スタートなので数字が1つずれる)
    ⇒ 「201~300行目の間の60番目のレコード」ということなので、CSVファイル260行目の「Zipcode」フィールドの値を確認する
  3. CSVファイルの内容を修正(アプリ設定が間違っている場合は、アプリ設定を修正)
  4. インポート開始行を指定して再実行

特に他システムからのデータ移行では、このように「フィールドの設定と合わないデータがCSVファイルに存在する」ことも多いのではないでしょうか。
出力された処理結果を使ってエラーを解析、そして「-l」オプションで処理を途中再開することで、データのインポートがよりスムーズに行えるようになりますね。

おわりに

今回のアップデートで、データのインポート機能が色々と便利になりました。
パワーアップしたkintone コマンドラインツールを、ぜひご活用ください!

 

このTipsは、2018年4月版 kintoneで確認したものになります。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。