LoginSignup
5
0

More than 1 year has passed since last update.

【UiPath】設定ファイルのオーバーライド

Posted at

はじめに

この投稿は、RPA ツールの UiPath のフロー実装例 の記事です。

この投稿は、UiPathのコミュニティ「UiPath Friends」が企画する「UiPathブログ発信チャレンジ2021サマー」の 12日目の投稿になります。

企画の内容は こちら 。カレンダーのURLは こちら です。

設定ファイルのオーバーライドとは?

オーバーライド=「上書き」という意味です。

UiPathでは 設定ファイルをExcelで用意し、処理の最初で値を読み込む という実装が多いですが、今回はその読み込んだ値を 上書き して動作させる方法について書きます。簡単に言うと

- A)設定ファイル.xlsx      :正規の設定ファイル
- B)設定ファイル.override.xlsx :ローカル実行用の設定ファイル。ファイルがなければ無視

という2つのファイルを読み取って、マージ(※)した設定を使用するというものです。
 ※ AとBで同じ項目名があればBの値で上書きします

この実装には、以下のメリットがあります。

 1)開発が楽になる
    Local実行用の設定は「.override.xlsx」に書けば良い
 2)リリース作業が楽になる
    リリース(パブリッシュ)時に設定ファイルを差し替えなくて良い(特にARの場合)
 3)リリース事故が減る
    「本番用」の設定ファイルを誤って修正する事がない

デメリットは下記があげられます。

 1)仕組みがわからないと混乱する
 2)「本番用」の設定ファイルの修正を忘れてしまうことがある

以下で「実装例」で紹介します。


参考)システム開発では、この「overrideパターン」を利用した実装があります。異なる環境向けファイルを用意し、上書きマージすることで環境差異を吸収します。
dockerで言えば「docker-compose.override.yml」という「上書き専用ファイル」を読み込む仕様があります。


実装例

以下は、設定ファイルのオーバーライドをする際の実装例です。ReFrameworkで言えば「InitAllSettings.xaml」の処理にあたります。
処理の前半は設定ファイルを読み込み、後半で上書きファイルで内容を上書きしています。
image.png

注意点・コメント

1)「上書きファイルにしか無い項目」は無視しています。
   これは「予期せぬ事故(上書きファイルにだけ項目を追加してしまった)」を防ぐためです。

2)上書きファイルの置き場所は「デスクトップ」にしています。
   敢えて「パブリッシュ時に同梱されない場所」を指定し、管理しやすくしています。

内容を確認しやすいように、xaml形式に切り出したものを用意しました。

終わりに

いかがでしたでしょうか。実装例として役立てば幸いです。

この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0