見出し画像

RPA(Power Automate)でkintoneのレコードのバックアップをやってみた

はじめに

kintoneは標準機能でレコードのバックアップができません。
ゴミ箱機能もありません。
これって怖くないですか?
誤操作でレコードを削除してしまいそうで...。
本当に削除してもいいレコードであっても、復元できないことを考えると、なんか削除ボタン押しにくくて...。
まさに恐怖の削除ボタン。

そのため、バックアップを取っておいて、必要なときに復元できる方法がないか悩んだ末、RPAを使ってみることにしました。

手間をかけずに確実な方法でバックアップを取りたい方は、プラグインなどをご検討ください。

この記事をおすすめしたい方

  • バックアップ処理に手間をかけたくない

  • 無料でバックアップを取りたい

  • 難しいプログラミングはわからない

  • レコードの削除が怖くてたまらない

準備したもの

  • RPAツール(Power Automate(無料版))

  • バックアップを取りたいアプリを一覧にしたExcelデータ

設定したバックアップの仕組み

簡単に言うと、アプリごとに標準機能の「ファイルに書き出す」を実行していき、指定のフォルダにcsvファイルを保存するという仕組みです。

Power Automateはノーコードで設定できますし、バックアップしたいアプリが追加・削除されても、Excelの行を変更するだけで済みます。

処理の流れ

  1. kintoneにログインしておく

  2. RPA(Power Automate)に設定したフローを実行すると、以下の作業を自動処理してくれます

  3. 指定の保存先に、今日の日付(例えば今日が2022/8/10なら220810)でフォルダが作成される

  4. ブラウザを起動し、kintoneのポータルにアクセスする

  5. バックアップを取りたいアプリを一覧にしたExcelを起動する

  6. Excelに入力したアプリID(数値)を上の行から1つずつ取得する

  7. 数値とkintoneのアプリIDが一致するアプリにアクセスし、ファイルの書き出しを実行する

  8. 作成したフォルダに書き出ししたcsvファイルを保存する

  9. Excelから、次の行のアプリID(数値)を取得し、7と8を繰り返す

  10. Excelの行が空欄になったら、書き出し処理を終了する

  11. すべての処理が成功したら、ブラウザとExcelを終了し、成功したメッセージを表示する

設定方法

RPAはまだまだ初心者なので、正しい方法ではないかもしれませんが、今回設定した内容をざっくり紹介します。

Excelの準備

スクリーンショット_080722_121624_PM
バックアップを取りたいアプリを一覧にしたExcelデータ

バックアップを取りたいアプリを一覧にしたExcelを作成しておきます。
B列のアプリIDをRPAで取得し、kintoneのアプリにアクセスしていきます。
上から順番に実行していきますが、並び順は気にしなくてOKです。
空欄行になったら処理終了と判断されるため、対象アプリを追加・削除する際は、行を詰めて入力しておく必要があります。

Power Automate(フォルダの作成)

スクリーンショット_080722_120147_PM
Power Automateで設定したフロー(フォルダ作成)

Power Automate(無料版)は手動実行になります。
スケジュール実行により、決まった日時に自動実行はできませんが、実行可能な日(出勤日など)に手動実行を1日1回実行することを想定して、今日の日付を名前にしたフォルダを作成します。

Power Automate(ブラウザとExcelの起動)

スクリーンショット_080722_120417_PM
Power Automateで設定したフロー(ブラウザとExcelの起動)

kintoneを使っているブラウザを起動し、ポータルにアクセスします。
kintoneログイン段階からフロー化できると思いますが、フローを実行する際は、既にログイン後だと思いますので、いきなりポータルにアクセスすることにしました。

それから、バックアップを取りたいアプリを一覧にしたExcelを起動します。
起動したExcelから、アプリIDが入力されている最終行を取得します。
この最終行が、後述するフローを終了するキーとなります。

Power Automate(ファイル書き出しと保存)

スクリーンショット_080722_120611_PM
Power Automateで設定したフロー(ファイルの書き出し)
スクリーンショット_080722_121446_PM
Power Automateで設定したフロー(ファイルの保存)

ExcelからアプリID(数値)を取得し、URLに代入します。

https://●●.cybozu.com/k/ここにアプリID(数値)を代入/exportRecord?view=20#q

ちなみにexportRecord?view=20#qを足すと、絞り込みしていない(すべて)のデータを対象に、ファイル書き出し画面にアクセスできるみたいです。

ファイル書き出しボタンを押したら、作成したフォルダに保存します。
ファイル書き出し時の処理に時間がかかることがあるので、エラーが発生しないよう、待機を入れておくと良いです。

このExcelのアプリID(数値)取得~フォルダに保存するまでの処理を、Excelの最終行分まで繰り返し処理します。

Power Automate(終了処理)

スクリーンショット_080722_120745_PM
Power Automateで設定したフロー(終了処理)

最後に、ブラウザとExcelを終了して、成功メッセージを表示します。

設定したフローを実行してみると

Power Automateのフローを実行してみます。
画面がうにうに動いて、みごとフォルダにcsvファイルが保存されました。
画面が動いているときは、結構ドキドキします。

スクリーンショット_080722_121000_PM
成功メッセージ
スクリーンショット_080722_121047_PM
フォルダに保存されたcsvファイル

おわりに

注意点として、Power Automateを実行するユーザーに対して、対象のアプリすべてに書き出し権限を付与しておく必要があります。

パソコンを使わないとき、このフローを実行しておけば、どんどんcsvファイルが保存されます。

これで、削除ボタンも怖くなくなった…かな??

ざっくりした設定方法の説明で恐縮ですが、参考になれば幸いです。

いいなと思ったら応援しよう!