デプロイット実践編2「配布トラブル即解決!完全攻略虎の巻 1」

公開日:

はじめに

こんにちは、サポートの沖です。(65.1kg 23.1%)

みなさん、デプロイット使ってます?

(ふむふむ・・・)。。なるほど使ってて配布時にエラーで困っているんですね。確かに、その話はよく聞きます。

デプロイットのアプリ配布は、アプリに対して色々と変更した結果をAPIを使って一気に反映させるという仕組みなので、過去のブログのようにエラーになる事がありますね。

デプロイットを知らないという方はこちらのリンクをご確認ください。アプリの配布やバックアップなど開発に必須なサービスです。

https://deploit.gusuku.io

こちらのブログもどうぞ!

基本編の次が未作成だったので、今回は更に色々なケースを紹介していきます。配布元アプリ → 配布先アプリ という配布を例にしてエラーを紹介していきましょう。

アプリ追加とアプリ更新はちょっと違う

デプロイットの配布では、配布先環境にアプリがある場合はそのアプリを更新して、ない場合はアプリを作成します。更新と作成だと処理が色々と異なるため、作成時だけエラーになることがあります。そのため、どうしてもエラーで新規作成ができないという場合はkintoneのアプリテンプレートで作成してから、環境に紐付きで登録する方法もあります。

紐付きでの登録手順はこちらのブログをご確認ください。

指定されたフィールド(xxx)が見つかりません

配布時に何らかの理由でフィールドが無い状態になっているエラーです。このエラーの場合は、フィールドコードで特定する手順になります。様々な理由で発生することがあるので、同じフィールドコードが色々なアプリにある場合はそれぞれで変更しておくと特定しやすくなります。

アプリを修正してフィールドの削除と追加をしている

アプリを何度も修正していてフィールドの追加や削除、またはフィールドコードの変更をしている場合に発生しがちです。

対処方法

配布元アプリに「xxx」というフィールドコードのフィールドがあるはずなので、それと同じフィールドタイプとフィールドコードのフィールドを手動で配布先アプリに追加してから再度配布してください。

そもそも配布元アプリに対象のフィールドがない

配布元アプリに表示されたフィールドコードのフィールドがない場合、ルックアップで参照している他アプリが最新ではない可能性があります。

対処方法

ルックアップで参照している他アプリを配布して最新にしておきます。その際はアプリの取り込みから配布までの一連の操作をお願いします。その後にエラーになったアプリを再配布してください。

ルックアップを作り直している

ルックアップを作り直して別アプリに変更している場合、関連付けるアプリは変更できないのでフィールドの指定だけを変えようとしてエラーになります。

対処方法

配布先アプリからルックアップを削除してください。その後に配布をお願いします。

レコード番号のフィールドコードを変更している

配布元アプリレコード番号のフィールドコードを変えていて、関連レコードがあり、自アプリを参照しているような設定で、並び順や表示レコード番号を指定していると、新規配布で発生します。

またはルックアップの設定で並び順などでレコード番号を指定している場合に発生することもあります。

対処方法

関連レコードの場合は、配布元アプリのレコード番号のフィールドコードを「レコード番号」に戻してから、アプリの取り込みと配布をお願いします。

ルックアップの場合は、ルックアップの関連付けるアプリで指定しているアプリの方のレコード番号のフィールドコードを「レコード番号」に戻してから、アプリの取り込みと配布をしてください。その後に配布元アプリの再配布をお願いします。

なお、この位置にあるフィールドのフィールドコードを変えるとトラブルの元なので変更しないようにしましょう!

フィールド「xxx」に指定したフィールドタイプが正しくありません

数値フィールドで在庫数を入力していたけど、計算フィールドに変更したようなケースです。この時にフィールドコードを合わせた場合はエラーになります。

対処方法

配布先アプリの「xxx」というフィールドコードのフィールドを手動で削除してから再度配布してください。元のフィールドは削除しているはずなので配布先でも不要なフィールドと思いますが、フィールド値を何かで利用したい場合はファイルに書き出して保存しておくと良いと思います。

フィールドコードが重複しています

過去のブログでも紹介していますが、テーブル外からテーブル内に移動したように見える修正をしているケースです。例えば、このような状態のフィールドがあるとします。

この状態から下のような状態に変えたケースです。

実際にはフィールドの削除や追加をしているはずなので単純な移動ではないのですが、見た目では移動なのでその様に表現してます。この時にフィールドコードを同一にしていると高確率で発生しますが、フィールドコードが同一でなくてもフィールドタイプが同一だと発生することがあります。

対処方法

配布先アプリのテーブル内に追加予定のフィールドを手動で追加してください。その際にテーブル外のフィールドとフィールドコードが重複する場合は、テーブル外のフィールドを削除してください。その後に再配布をお願いします。

テーブルからフィールドを出すことは出来ません

先ほどの逆のパターンで、テーブル内にあるフィールドがテーブル外に移動した様な見た目のケースです。この場合はエラーメッセージが少し変わります。メッセージに書かれているように、フィールド内からテーブル外に移動したという判定になっているようです。

対処方法

配布先アプリのテーブルから削除予定のフィールドを手動で削除してください。その後に再配布をお願いします。

フィールドを削除できません

他アプリにあるルックアップから参照しているフィールドを削除している場合に発生します。配布元環境の方ではルックアップが無くなっていたりなど、様々なパターンがあります。

対処方法

色々なパターンがあるので対応方法も細かくは変わってきますが、アプリ名から、配布元環境と配布先環境のルックアップの違いを調べて、配布元アプリから削除しているフィールドを特定してください。その後、配布先アプリの方から手動でなんとか削除してから配布をお願いします。

指定したフィールドの組み合わせが正しくない、または指定できない種類のフィールドを指定しています

ルックアップで参照している他アプリにあるフィールドが、フィールドコードは同一だけどフィールドタイプが変わっているような場合に発生します。

対処方法

他アプリを先に配布してから、配布元アプリを配布してください。ただ、他アプリの方の配布で上にあるエラーに遭遇することが考えられます。その場合は上記手順を参考になんとか配布をお願いします。

どうしてもエラーが解消できない、という場合は配布先アプリの方からルックアップを削除してから配布をする方法もあります。

フィールドを追加できません。フィールドの数が上限(500件)を超えています

配布元アプリでは500フィールドを超えていなくても、フィールド変更の過程で一時的なフィールド数が500を超える場合に発生します。

対処方法

配布先アプリから削除予定のフィールドを手動で削除してから再度配布をお願いします。

おつかれさまでした

正直、エラーパターンはまだまだあるのですが、分量が大変なことになるので今回はこれくらいにしたいと思います。続きは次回ということで。なお、今回のエラーを再現するためにアプリを実際に修正していたので結構大変でした。次回は更にマニアックなエラーになるので、データを作って強引にエラーにするしか無いかも・・?

どうなるかは未定ですが、お楽しみ?に!

投稿者プロフィール

アバター画像
"サイボウズ公認kintoneエバンジェリスト
カスタマインやデプロイットでも色々とやってます"