cybozu developer network の kintone Tips に、
後で追加した計算フィールドに一括で値を反映する方法
という記事があります。
今回、Go製の kintoneコマンドラインツール cli-kintone を使って、コードを書かずワンライナーで自動計算フィールドに値を一括して反映する Tips を公開します。
追記:2021.2.26
別にこれは計算フィールドだけのことではなくて、文字列1行フィールドで自動計算を選択した場合でも同じ動きになります。
例えば。
「姓」「名」の2つのフィールドがあって、それを連結する「氏名」フィールドを後で作った場合。
氏名フィールドを文字列1行で追加して、設定で自動計算するにして、姓 & 名 とかすればOK。
動作環境
- macOS 10.13.6
- cli-kintone 0.9.4
cli-kintone の準備
cli-kintoneのZipファイルをダウンロード、解凍後に実行ファイルをパスの通ったディレクトリに配置します。
https://github.com/kintone/cli-kintone
https://github.com/kintone/cli-kintone/releases
kintoneアプリの準備
テスト用のkintoneアプリを用意します。
営業支援パック導入
スペースを作り、アプリストアから営業支援パックをサンプルデータを含めて作成します。
案件管理に集計用年月フィールドを追加
文字列1行フィールドを追加して、自動計算を設定します。
一覧の項目に追加したフィールドを表示させておきます。
考え方
下記の仕組みにより計算フィールドのみの更新を可能としています。
-
リクエストのJSONデータに記述しないフィールドは更新されません
-
更新時にテーブルのデータを含まない場合、テーブルのデータは保持されます
cli-kintoneによる処理
処理の流れです。
- レコードIDのみを取得します
- 取得したレコードIDを読み込みます
処理コードと結果
$ cli-kintone -a 123 -t API-Token -d Domain -c "\$id" | cli-kintone --import -a 123 -t API-Token -d Domain
Start from lines: 1 - 11 => SUCCESS
DONE
cli-kintoneの1,2の処理をパイプで繋げて実行する事で、新規に追加した自動計算フィールドが更新されます。
参考リンク
- レコードの一括登録と更新
- [レコードの一括更新] ファイルを編集する
- 入出力できるデータの一覧
- kintone REST API レコードの更新(PUT)
- kintone REST API レコードの更新(PUT)注意事項
- kintone コマンドラインツール Version 0.9.0 新機能紹介
——