皆様こんにちは。
今年4月に新卒入社した倉石です。
今回は、krewDataプラグインのスケジュール実行プランで、「いつの間にかスケジュール実行のチェックが外れてしまう」原因と、その解決策をご紹介したいと思います!
あれ、スケジュール実行が外れている?
皆様は、krewDataのスケジュール実行プランでフローを回すとき、このような経験をしたことはありませんか。
「いつの間にか設定したはずのスケジュール実行のチェックが外れていて実行ができていない!」
業務に必要不可欠なフローなのに、いつの間にか実行されなくなっていたら困りますよね。
また、設定したはずのものが外れているという状況に対して、原因が全くわからなかったという方も多いのではないでしょうか。
エラーの原因・・・それはアプリ権限にある!
krewDataのフローを作成するには、「入力アプリ」と「出力アプリ」を設定する必要があります。
実は、スケジュール実行のフローのチェックが外れてしまう原因は、フローの中に存在する入力アプリ、出力アプリの閲覧権限にあることが多いのです。
簡単に説明すると、krewData専用アプリで設置されているすべてのフローの中で、いずれかのフローの「入力または出力アプリ」の閲覧権限を持っていない人が、krewData専用アプリの更新を行うと、フローの中のアプリはないものとみなされ不正となり、チェックが外れてしまうということです。
少しわかりづらいと思うので、デモ画面を見ながらエラーが起こる様子を見ていきましょう。
エラーが起こる様子を実際に見てみよう
デモを行うにあたって、今回の設定をご説明します。
- 登場人物
Aさん、Bさん - 登場するアプリ
案件管理アプリ、メルマガ配信アプリ、請求管理アプリ - krewDataのフロー
①案件管理アプリのレコードの一部データを請求管理アプリに自動的に出力
②案件管理アプリのレコードの一部データをメルマガ配信アプリに自動的に出力
※ここからは、①のフローを「フロー①」、②のフローを「フロー②」と記載します。
Aさんのアカウントは「テストA」、Bさんのアカウントは「テストB」としています。
Aさんはフロー①とフロー②を、Bさんはフロー②のみ回します。
Bさんはフロー①の出力アプリである、請求管理アプリのアクセス権を持っていません。
Aさんのアカウントで、二つのフローが正常に作動することは確認済みです。
フロー①、フロー②それぞれの実行ボタンを押すと、
案件管理アプリのデータが請求管理アプリ、メルマガ配信アプリに出力されました。
では、早速本題に入っていきましょう。
Bさんのアカウントからフローを回します。
先ほど述べたように、Bさんは普段はフロー②のみ回しており、請求管理アプリのアクセス権は持っていません。
Bさんのアカウントでフロー①のアプリの更新を行うとどうなるのでしょうか。
現在は、二つともスケジュール実行にチェックがついている状態です。
上のチェックがフロー①、下のチェックがフロー②となっています。
まず、BさんのアカウントでkrewDataプラグインの設定画面を開くと、次の画像のような「スケジュール実行またはリアルタイム実行フローの登録が削除されます」というポップアップが出てきます。
今回はこのポップアップの「OK」を押します。
Bさんのアカウントでフロー①の設定画面を開くと下の画像のような表示になります。
出力アプリである請求管理アプリは白く塗りつぶされ、表示されるはずのアイコンが表示されていません。
請求管理アプリの詳細設定を開くと赤いエラーメッセージで「アプリのフィールドが取得できません。アクセス権を確認してください。」と表示されます。
そのままアプリの更新を押してみましょう。
すると、「スケジュール実行またはリアルタイム実行フローの登録が削除されます」というポップアップが出てきます。
「アプリを更新しますか?」という問いかけに対し、「はい」を押し、アプリの更新を行うと、ご覧のとおりフロー①のスケジュール実行のチェックが外れてしまいました。
Bさんはフロー①を回す必要がないので、通常であれば、Bさんはフロー①を更新したり設定したりする作業はありません。
しかし、何かの弾みでBさんがフロー①の設定画面に入り、誤って編集しアプリの更新を行ってしまった場合にこのようなエラーが起こります。
そうなると、どこかのタイミングでAさんがkrewDataプラグインの設定画面に入るまで、フロー①が実行されていないことに気づかないという事態も予想できます。
このように、アプリ権限を持っていない人がアプリの更新を行ったことで、設定されたアプリが「存在しないもの」として扱われるようになり、フローは不正とみなされ、スケジュール実行のチェックが外れてしまいます。
そうなると、設定していたはずのフローが実行されなくなってしまうのです。
このような事態を防ぐにはどうしたら良いのか
「いつの間にか設定したはずのスケジュール実行のチェックが外れていて実行ができていない!」
こうなってしまう原因についてお話ししてきましたが、できることなら未然に防いでいきたいですよね。
ここからは、このような事態を未然に防ぐための「解決策」についてお話していきたいと思います。
krewDataのアプリを分けて利用するべし!
実は、このような事態は「krewDataアプリをフローごとに分ける」ことで未然に防ぐことができます。
今回の事象は、使うアプリが異なることでアプリのアクセス権もそれぞれ違うのにも関わらず、krewData専用アプリが統一されてしまったことによって起こります。
ですので、下の画像のように、例えば部署毎やチーム毎など、同じアプリのアクセス権を有するコミュニティーの中のフロー毎にkrewDataのアプリを分ければいいというわけです。
アプリを分けることによって、今回のような事態を未然に防ぐことができるだけではなく、フローを整理することができることで、編集や更新をしたいフローを一目で見つけることができるようになります。
このようにアプリを分けることはシステムを円滑に回していくためにも重要だと考えています。
さいごに
「いつの間にかスケジュール実行のチェックが外れてしまう」原因と、その解決策についてお話ししてきました。
アプリを分けるといったちょっとしたことで防ぐことができるので、皆様もぜひ今回ご紹介した解決策をお試しください!
また、今回ご紹介した内容はkrewのサポートページにもございます。
下のテキストリンクをクリックしていただくと閲覧できますので是非ご覧ください!
スケジュール実行の実行設定が無効化されたら
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りな方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。