はじめに
この投稿は「UiPathでアクティビティ表示名に番号をつけて、強制的にユニークにしよう」という投稿です。
以下の投稿に少し似ています。
UiPathワークフローのアクティビティ表示名を一括してユニークにする方法
この記事は、UiPath Friends もくもく会 2021年1月開催 2021-01-23(土)08:45 - 12:00
で書きました。
アクティビティ表示名をユニークにする理由
エラー発生時に止まった箇所を特定するためです。
実行ログには「エラーになったアクティビティ表示名」が記録されますが、同じ名前のアクティビティ名があると、どっち(どこ)でエラーになったか判別できません。
同じ名前のアクティビティ名があると、ワークフローアナライザでは「表示名の重複」の警告が表示されます。
既にツールが公開されている
UiPathマーケットプレイスを検索すると、既にありました。
- パーソルのRPA - アクティビティ採番 (公開日: 2020年5月20日) : xamlファイルに使用されているアクティビティを採番します。
- [DisplayNameにユニークなIDを付加 (公開日: 2020年7月3日)]
(https://marketplace.uipath.com/ja/listings/hxhp7a639mmrrbufwdh8go) : アクティビティのDisplayNameにユニークなIDを付加し、DisplayNameの重複を回避します。
良くできていて「どちらも素晴らしい」のですが、自分がやりたいことには 以下の点でマッチしませんでした。
- 実行前に自動でバックアップ取りたい(怖いから)
- カスタムアクティビティだと困ることもある(カスタマイズしたい時がある)
- 時によっては採番方法を変えたい時がある(ファイル単位 or プロジェクト単位)
- 変更する必要がないファイルは編集したくない(更新日変えたくない)
- 表示名の変更前後の内容を知りたい(どう変わったのか、ユニークなのか確認)
作る
学習も兼ねて、作りました。
UiPath Marketplace > Number the Activity DisplayName
処理は以下の流れになっています。
- 1. Set target project
- 2. Backup project folder
- 3. Get projects xaml
- 4. Edit xaml
- For Each - line
- For Each - xaml file path
- If - contains DisplayName ?
- Sequence - edit DisplayName
- 5. Output result
実行すると、編集前の内容で、フォルダごとバックアップを作成します。
(フォルダ名の後ろに「_年月日-時刻」を付与して作成)
変更結果として、以下のようなHTMLを出力します。
終わりに
作ってみて思ったのですが、採番に頼らず、自分の手でユニークにするほうが良い話ですね。このツールを使うのは最終手段な気がしました。(例:工数足りず、仕方なくツールで採番)
最後まで読んでいただき、ありがとうございました。