Invoke workflowについて

「ワークフローとして抽出」によりinvoke workflow fileを作りました。
この機能で同じproject内に〇〇.xamlファイルが出来ました。

invoke work flow fileは別のproject間(異なるproject間)で共通に使うことはできないのでしょうか?
(こういう概念はそもそもUiPathにあるのでしょうか?)
また、この場合、使いまわすinvoke work flow file(〇〇.xaml)の場所はどうすべきでしょうか?

ご指導よろしくお願いいたします。

技術的には異なるプロジェクトのXAMLファイルを指定することは可能ですが、実務的には推奨されないと思われます。
理由はいくつかありますが、思いつく限り下記のようなものがあります。

  • プロジェクトフォルダに含まれないファイルは、パブリッシュした際にパッケージに格納されないため実行できない
  • 外部に存在するXAMLファイルが更新・削除などされるリスクが高まる

したがって、複数のワークフローで共通して利用したい場合には、下記のいずれかで対応することが望ましいかと思います。

  • 利用したいワークフローのXAMLファイルを対象プロジェクトのフォルダにコピーする
  • ライブラリ機能を利用する
2 Likes

共通ワークフロー扱いで、どこかのファイルサーバのフォルダに配置。
invokの時はオーケストレータならアセット情報などにファイルパスを入れておいてそこから取り出して利用する。オーケストレータなしなら自前のConfigやiniファイルを作ってそこにファイルパスを入れておいて利用するとか、環境変数にパスをセットしておいて利用する。

とかで問題ないかと。
ただし、他の方が書いてあるように、共通ワークフロー置き場のアクセス権を気を付けないと無法地帯になりますのでそこは注意(&管理)が必要です。

cheez_RPA様
いつもご指導ありがとうございます。

「ライブラリ機能」というキーワードが気になりました。
この機能を使うのが王道のようですね。
調査します。

minami様

ご指導ありがとうございます。
オーケストレータなしですが、自分用でも無法地帯になりそうです。
バージョン管理とかも気を付けないといけないと思いました。

1)ライブラリプロジェクトを作ってそこに共通ワークフローをたくさん作っておいておく
2)ライブラリプロジェクトをパブリッシュしてパッケージにして共通ファイルサーバに置いておく
3)ロボット作成時にパッケージ追加で2)で配置したパッケージを追加する
で標準アクティビティと同じように使えるものになります。

気を付けないといけないのは、このパターンだと、一度作った共通ワークフローはパッケージになっているので、パッケージを更新してバージョン上がっても、古いバージョンを使っているロボットは影響されません。バグで共通ワークフロー更新した場合は、新しいバージョンのパッケージを使うように、過去つくったすべてのロボットを更新しないといけなくなります。
#ツールがあるので一括更新できなくはないですが、地味に大変です。

minami様
ご指導ありがとうございます。
大変勉強になりました。
ライブラリを使っていこうと思います。
ライブラリの作り方等勉強します。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.