ワークフロー作成でやってはいけないことについて
最近ワークフローを作成していて、いくつかエラーになる事例が発生しました。
気を付けるべきこととしてメモを残しておきます。
【その1】別のプロジェクトに対してアクティビティをコピー
これはたくさんのプロジェクトを作成しているような現場で起きがちですが、これはしないほうがよいです。
※同じプロジェクト内であれば大丈夫だと思います。
理由1:パッケージバージョンが異なると正常にコピーできない場合がある
パッケージバージョンが異なったプロジェクト間でコピーを行うと正常に動作しない場合があります。
例えばVer1.00ではA,B,Cというパラメータが必要だったのに対し、Ver1.10ではA,B,C,Dというパラメータが必要になったといった場合にパラメータが足りないというエラーが発生する場合があります。
パラメータが足りないというエラーだけならば追加するだけで解決しますが、
Ver1.00ではA,B,Cが必要でVer1.10ではA,B,Dが必要などになるとさらに厄介なことになります。
Ver1.10の環境ではCのパラメータが編集できずにエラーが解消できないといったこともあり得ます。
※同じ名前のパラメータでの内部的には異なるパラメータとして取り扱われる可能性もあります。
そのため、パッケージバージョンが異なるとエラーが解消できずに問題になるといったことが起こるので注意です。
理由2:アクティビティや設定時に必要なパラメータが自動で生成されない場合がある
これは私の環境でも実際に起きたのですが、設定上は何も問題ないのに「代入」アクティビティで問題が発生するといった状況が発生しました。
どうやらこの代入アクティビティ内に設定したパラメータについて本来は自動で設定されるべきものが、設定されなかったことが原因のようで、一度削除して再配置、再設定することで直りました。
コピーしてエラーとなった場合は再配置も試しましょう。
【その2】別のプロジェクトで作ったワークフローをプロジェクト内にコピー
こちらもその1と同様にエラーとなる場合があります。
パッケージバージョンが違うためエラーとなったり、作成していた対応OS(Windowsプロジェクト、Windowsレガシー、クロスプラットフォーム)が異なることでエラーとなったりします。
コピーするぐらいならライブラリ機能を利用しましょう。
※少なくとも間違った対応OSを利用することがなくなります。
これはワークフローを分けて開発するような環境でも同様に起こりえます。
なるべくは分けて開発などは避け、もし分ける場合はライブラリ等でまとめておき、
最後メインとなるワークフローではライブラリの呼び出しだけで済ませるとエラーが発生しにくくなると思います。
【その3】アクティビティを配置したままパッケージをバージョンアップする
3つ目はアクティビティをワークフローに配置したままバージョンアップすることです。
これ自体はすでに作成済みのワークフローであればしょうがないという点もありますが、なるべくは回避したいです。
理由としてはその1でもある通り、バージョンが変わることによるパラメータや振る舞いが変わってしまうことが要因です。作成済みワークフローはバグ回避など理由がなければなるべくはバージョンアップをしないことをお勧めします。
(動いているものをそのまま利用し続けることがおすすめです)
このことは公式の記事にもあるみたいです。
https://www.uipath.com/ja/community-blog/knowledge-base/how-to-manage-packages
終わりに
今回はワークフロー作成時にやりがちだけでもあまりしないほうがよいことをまとめました。
他にもいろいろあると思いますが、私がUiPathに触れてきて特に強く感じた点をまとめてみました。
他にもやりがちだけどあまりしないほうがよいことなどあればぜひコメントで教えてください。
コメント