以下のようにcli-kintoneを2回実行させ、アプリAのデータでアプリBのレコードをアップデートするPowerShellスクリプトをタスクスケジューラで実行させています。
(A) cli-kintoneでクエリを指定してアプリAのデータをCSVにEXPORT
(B) 上記CSVの内容を加工し、cli-kintoneでアプリBのレコードをアップデート
この時に(A)のクエリの結果で対象レコードが無い場合には、cli-kintoneから以下のエラー・メッセージが吐出されます。
[2024-06-21T07:34:32.266Z] WARN: No records exist in the app or match the condition.
このエラー時には別のエラー処理を実行させて、(B)のcli-kintoneは実行させないようにしたいのですが、エラーを確実に捕捉する方法はありますでしょうか?
PowerShellの[$?]、[$LASTEXITCODE]、[$ErrorActionPreference]、[-ErrorAction]なども調べたのですが、(A)のcli-kintone実行時のエラーを捉える方法がわかりません。
よろしくお願いします。
jurippe
(jurippe)
2024 年 6 月 26 日午前 5:06
2
ありがとうございます。
ほぼ自己解決しました。
試行錯誤の結果、以下のように対応すれば[WARN]も捕捉できそうです。
cli-kintone (省略) –log-level “warn” (省略) 2>(error_log_file)
このようにcli-kintoneを呼び出せば、クエリの結果が空の時だけ、(error_log-file)には
[2024-06-26T04:07:03.220Z] WARN: No records exist in the app or match the condition.
のようにWARNのメッセージが書き出されるようです。
一方で、クエリの結果が問題無く完了した時にはサイズ=0の(error_log_file)が書かれるようです。
(error_log_file)のサイズだけで判定するか、中身のメッセージまで見て判定するかは
これから検討しますがどうにか対応することができそうです。
「いいね!」 1
system
(system)
クローズされました:
2024 年 6 月 29 日午前 6:08
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。