2020年1月12日の定期メンテナンスの、kintone API の更新に関する情報をお知らせします。
お知らせの内容に追加、変更等ありましたら、こちらのコメントにて変更箇所を追記します。
また、APIドキュメントには仕様を順次公開していきます。
kintone JavaScript API
仕様変更
- フィールド値変更イベント以外のすべてのイベントで Promise 対応
- 対象 API:
- レコード一覧画面が表示された後のイベント(app.record.index.show mobile.app.record.index.show)
- レコード一覧画面のインライン編集を開始した後のイベント(app.record.index.edit.show)
- レコード詳細画面が表示された後のイベント(app.record.detail.show mobile.app.record.detail.show)
- レコード追加画面が表示された後のイベント(app.record.create.show mobile.app.record.create.show)
- レコード編集画面が表示された後のイベント(app.record.edit.show mobile.app.record.edit.show)
- レコード印刷画面が表示された後のイベント(app.record.print.show)
- グラフが表示された後のイベント(app.report.show mobile.app.report.show)
- ポータル画面が表示された後のイベント(portal.show mobile.portal.show)
- 内容:
イベントハンドラ内で kintone.Promise オブジェクトを返却したとき
- 変更前:エラーになる
- 変更後:エラーにならず、非同期処理の実行を待ってから次の処理を実行できる
- 対象 API:
kintone REST API
不具合修正
- ルックアップで「文字列(複数行)」から「リッチエディター」へのコピーを設定しているアプリに対し、レコード登録・更新 APIを実行すると、「文字列(複数行)」の値に含まれていた改行情報が欠落する現象を解消
kintone REST API を使用して以下の記事で紹介されている UPSERT 処理を作成して実行していたのですが、先週は成功していた処理が今週から失敗するようになっていました。
https://developer.cybozu.io/hc/ja/articles/200927250
失敗していた処理はキー項目の値と一致するか調べる部分で、リクエストボディに JSON 形式で条件を指定してリクエストを投げているのですが、「520 レコードの絞り込み条件が多すぎます。条件を減らしてください。」というエラーが返ってきています。
この定期メンテナンスで絞り込み条件の上限数などの仕様が変更されたのでしょうか?
Kazuki Shimizu 様
ご質問ありがとうございます。cybozu developer network 運営事務局です。
この定期メンテナンスで絞り込み条件の条件などの仕様は変更しておりません。
リクエスト条件を変更したりしていないでしょうか?
返信ありがとうございます。
> リクエスト条件を変更したりしていないでしょうか?
該当の処理はテストコードとしてバージョン管理しており、以下の流れで処理しているので毎回同じリクエスト条件になっています。
このテストコードを 1/15 午後に数時間にわたり数十回実施して、一定の条件数(約1500)を超えるとエラーになることが確認できていました。
返信いただいたあと、確認のためさきほど上記テストコードを実行したところエラーが発生せず成功することを確認できました。
原因は不明ですが一時的な問題であり、ひとまず以前と同じ動作に戻ることが確認できたので解決とさせていただきます。
ありがとうございました。
2020年1月21日にメンテナンスを行い、2020年1月定期メンテナンス後より発生する不具合を解消しました。
■ kintone JavaScript API の不具合修正
□ 計算式フィールドを含むアプリで、レコード追加・編集画面を表示すると、change イベントが発火する場合がある現象を解消
・対象 API
・レコード追加画面の表示後イベント
・レコード編集画面の表示後イベント
・修正内容
・条件:次のすべての条件を満たすとき
・文字列1行または数値フィールドに計算式を設定している
・計算式が参照するフィールドの値が空である
・レコード追加画面またはレコード編集画面を表示する
・修正前:計算式を設定しているフィールドに対し、changeイベント(レコード追加画面のフィールド値変更時イベント またはレコード編集画面のフィールド値変更時イベント)が発火する
・修正後:change イベントが発火しない