充)はじめに前回の記事で、cli-kintoneの導入とレコードの取得について理解していただけたと思います。コマンドラインツールはcli-kintoneと表記します。今回も引き続きフィールドコードをカスタマイズした顧客リストアプリを利用して、レコードの追加と削除のやり方を紹介します。追加するレコードのデータをCSVファイルで用意するまずは追加するレコードのデータのCSVファイルを作成しましょう。このとき、必須項目以外のフィールドは入力しなくても問題ありません。今回はこの内容をcustomers.csvとし、文字コードをShift-JISにして保存します。オプションでファイルを指定して追加します。オプションで指定します。今回はShift-JISで作成したのでsjisを指定しましょう。オプションを利用します。このときクエリで絞り込みをしない場合すべてのレコードを削除してからレコードが追加されます。オプションを使って削除対象レコードをクエリで絞り込んでから実行する必要があります。クエリの書き方は前回の取得の時と同様にこちらを参考にしてください。今回は担当者名に「瀧ヶ平」を含む最新5件のレコードを削除してから、新たにレコードを追加してみましょう。オプションを利用すればレコードを追加せずに削除することができます。空のCSVファイルempty.csvはWindows環境ではとすることで、MacやLinux環境ではまたはとすればコマンドライン上で作成できます。テーブルを含むレコードを追加するこちらも前回と同様交通費申請アプリを使って確認しましょう。テーブルを含むレコードのCSVファイルを作成するテーブルを含むレコードを追加する場合は、テーブルを含むレコードを取得したCSVと同じように、フィールドコードの行と各レコードの1行目の最初に*,を追加します。あるレコードをcli-kintoneでエクスポートしたものを参考にCSVを作成すると間違いなく作れるかと思います。この内容をsubtable.csvとしてShift-JISで保存しましょう。オプションでファイルを指定してレコードを追加します。内に改行区切りで選択される値を表記する必要があります。Excelなどで確認するとセルの中で改行されている形で表示されるかと思います。Enterを押すことでセル内で改行することができます。内改行区切りで選択される値を表記します。エクセルで表示した場合CSV表現の例(テーブル内のフィールドの場合)上の画像のレコード2件をCSVで表現する場合以下になります。共通管理から実行されたリクエストを見ると問題が特定しやすいです。kintoneの右上の歯車のマークのメニューから「cybozu.com共通管理」へ移動し、左のカラムの「システム管理」内「監査ログ」の「閲覧とダウンロード」に移動します。こちらの監査ログの一覧を見ると、レコード操作やその成否が、また表左の「i」マークをクリックすると詳細なレコード操作の内容が確認できます。こちらを見て、cli-kintoneからリクエストが届いているか、どのようなエラー内容が出ているかを見ることでうまくいかない原因を探しやすくなりますね。新機能紹介記事のデータインポート時に処理結果を出力するを参照してください。第2回はここまでです。レコード追加と削除、いかがでしたでしょうか?次はレコードの更新をやっていきます、お楽しみに。0.9.0(2018年1月公開)以降、推奨されません。オプションもあわせて指定する実行方法を推奨します。xxxxx現状は、従来の実行方法でも動作します。コミュニティをご活用ください。03:16テーブルデータのインポートをしてみたのですが、”*”の有無にかかわらず、1行=1レコードとして登録されてしまいました。権限の問題で監査ログを見ることもできません。06:47i.ohishiさんcstapの瀧ヶ平です。こちらでは再現していないのですが、可能であればCSV及びアプリのフォーム設定など教えていただけますでしょうか?コメント欄では"*"が全角になっていますが、半角の"*"であれば問題なくインポート出来るはずです。エラーが出ているのではなく1行1レコードとなってしまっているのであればおそらくCSV自体の書き方は問題ないはずなので、テーブル化する*の部分の問題かと思います。cli‐kintoneコマンドで-Dオプションを利用すると、DB上の既存レコードが全て削除されますが、次に追加レコードのレコード番号は、更新されていき-Dオプションで削除されたレコード番号は、欠番になる動作仕様のようです。ある意味、当たり前の動作だと思いますが、レコード番号をリセットしたい場合があります。-Dオプションで全レコードを削除後に、レコード番号=1にリセットし、追加登録する方法をご存知の方がいれば教えてください。11:15h.yamadaさんcstapの瀧ヶ平です。レコード番号をリセットしたいのであれば、-Dオプションで全て削除してから行うのではなく、新たに登録するID1から始まるレコードをレコードの更新によって行い、レコードを更新した後、更新したレコードを除くレコードを-qオプションのクエリで絞り込み、-Dオプションで削除する方法で実現するのが良いかと思います。この方法ではリビジョンなどの情報はリセットされず、これを実行した後に新たに登録する場合はレコードIDは削除済みのレコードのID+1の値から始まります。そもそもkintoneでは削除したレコードのIDを埋めるようにレコードを作成するのは無理そうなので、これが限界かと思います。欠番が出ることが問題なのであれば、自動採番プラグインを用いてレコードIDとは別の番号で管理するなどの代替案はどうでしょうか?参考になれば幸いです。01:12cstap:瀧ヶ平さん、レコード番号をリセット設定するコマンドや設定手段はやはりなさそうですね。レコード削除があってもレコード番号で綺麗に欠番なく管理するプログラムは少し面倒そうなので、アドバイスを受けた方法などで工夫してみます。そもそもkintoneでは削除したレコードのIDを埋めるようにレコードを作成するのは無理そうアドバイス、ありがとうございした。14:09素敵なツールありがとうございます。同一のCSVファイルにおいて、UIの「ファイル読み込み」から登録すると正常に登録されるのに、コマンドラインから登録するとレコード数文の空データしか登録されない現象があります。様フィードバックをありがとうございます。個別のトラブルシューティングについてはこちらの記事コメントでは対応いたしかねます。恐れ入りますが、コマンドの詳細を記載の上、以下のトピックに投稿いただけますでしょうか。トラブルシューティングhttps://developer.cybozu.io/hc/ja/community/topics/200021040よろしくお願い申し上げます。02:23「チェックボックスや複数選択で複数チェックが入る場合のCSV表現」の例のようにやってみたのですが、チェックボックス欄にうまくデータが登録されません。ちなみに単一選択であってもレコード自体は登録されますが、値がセットされません。何か明示されていない前提条件がありますか。(例:記事内のエクセル画像)をいただくことはできますでしょうか。お手数をおかけしますが、よろしくお願いいたします。テスト.csvテスト.csvの中身"チェックボックス","複数選択""check1","select2"デザイン画面スクショ上記で実行した結果はチェックボックス、複数選択には何もセットされませんでした。詳細の記載ありがとうございます!こちらでも同様の現象を確認することができました。文字コードが原因と思われます。対応策としては以下の2点がございます。テスト.csv・CSV保存時に「UTF-8」で保存するExcelなどで作成した場合、初期値として文字コードが「Shift-JIS」で保存する設定になっていることが多いです。以上、ご確認よろしくお願いいたします。15:33回答ありがとうございます。こちらで確認した結果、sjisではうまくいきましたが、UTF-8では複数選択はうまくいって、チェックボックスはうまくいきませんでした。01:31いつもお世話になっております。以前からコマンドラインを使用し、レコードを削除した後にレコードを追加しています。ところが、今年に入り急に1つのアプリだけ以下のようなエラーが出るようになりました。(ドメイン等は伏せてあります)データの内容を見てもおかしな所がなかったため、手動でアプリから一括削除とファイルからの読込を行なったところ、正常に終了し使用できます。アプリ、コマンドライン等、修正箇所は一切ありません。データは毎回57000件ほどあります。修正する所などご教授いただけたらと存じます。入力内容が正しくありません。(nlR52PzevRXEdDIC95Ri)CSVファイルのコードが間違えているかと思って、いろいろ変えたりしても同じでした。様おせわになっております。手元の環境(v0.9.4)にて、SUZUKI様記載のコマンドで実行してみましたが、問題なく一括削除およびインポートができました。恐れ入りますが、以下の点についてご教示いただけないでしょうか。?よろしくお願いいたします。06:38回答いただき、ありがとうございます。2017年5月にダウンロードしたのを使っていたので、早速最新のcli-kintoneをダウンロードしました。最新ので実行し、エラーの詳細が分かるようになったので修正をしているところです。日時はISO8601形式の必要があります。アプリからファイルを読み込んだときは正常にインポートできます。このフィールドは不要だったので、除外したところ正常にインポートできました。今後日付フィールドの読み込みが必要になったとき、改めて質問させていただきます。ありがとうございました。最新版でご検証くださりありがとうございます。詳細なエラーメッセージについてもありがとうございます。使ってレコードの更新等を行っています。日時のフォーマットに合わせる必要があります。アプリ画面から日時をインポートする場合は、いくつかの形式をサポートしているので(フィールドの種類ごとの記載形式)、インポートできたと推測されます。