はじめに
この投稿は「UiPathのプロジェクトを読み取って、その内容を出力するツールを作る」という内容です。「コードレビュー」を楽にするために作りました。
作成したもの
PJDocument という名前で、UiPathMarketに公開しています。(ProjectDocumentの意)
スニペット形式(xamlファイル形式)でアップしているので、自分用にアレンジも可能です。
UiPath marketplace - PJDocument
作成した背景
自分で作ったコードの見直しをしたり、他人の作ったコードのレビューをする際に、多くの人が UiPathStudioの「ワークフローアナライザー」を使うと思います。
↓↓↓ UiPath Studio Guide - About Workflow Analyzer
「ワークフローアナライザー」は優秀で「良くないコード」を教えてくれますが、レビューでは「良いも悪いも含めて、一覧で俯瞰したい」時があります。
が、UiPathこの一覧機能が今のところありません。
なので、例えば「ネーミングに統一感があるか?誤字脱字は無いか?」を見たいときには、現状ではファイルをひとつひとつ開いて確認していきます。これが非常に辛い。
なにか良いツールは無いかな?と思ったら、ありました。
・UiPathのコーディングチェックツールを作ってみた【RPA】
まさにこれだ!と思ったのですが、使用するにはxamlファイルをアップロードする必要がありそうです。
ワークフローファイルは「業務仕様を記載したドキュメント」なので、ちょっと気が引けます。また、このサイトがなくなったらレビューできなくなり依存してしまうので、気軽には使えません。残念です。
なので、自分で作りました。
カスタムアクティビティやExe形式のプログラムだと「中で何やってるか分からないから使えない。ダメ!」となりそうなので、xamlファイルで書きます。
出力結果はHTMLにして、ネットに接続できないスタンドアローンな環境でも見れるようにします。
処理フローのイメージ
プロジェクト内のxamlファイルをループしながら情報を取得しデータテーブルに格納していきます。最後にデータテーブルの内容を、HTMLに出力します。
実行結果
下記のようなHTMLが出力されます。
UiPathアカデミーのReFrameworkを使った課題のプロジェクトを読み込ませました。(一部のファイルはわざと抜粋しています)
まず最初にproject.jsonの内容が出力されます。
「説明が入っているか?」「バージョンは正しいか」等を確認できます。
次にxamlファイルの一覧が出力されます。
説明(annotation)や呼び出し回数(invokedcount)を確認できます。
次にアクティビティの一覧が表示されます。
表示名(displayName)や説明(annotation)を確認できます
次は引数です。方向(direction)や変数名などを確認できます。
次は変数です。初期値(default)やスコープ(ScopeLevel)を確認できます。「Top」と記載されていれば、xamlファイル内全体のスコープです。
次はワークフロー呼び出しです。一覧に加えツリー構造でも確認できます。
次はUIセレクターの一覧です。タイムアウトやセレクター値を確認できます。
最後は起動アプリケーションです。アプリケーション名が確認できます。
課題
一応、形にはなりましたが、まだまだ課題があります。
・処理が少し冗長、かつ統一感がない
・無効にしているアクティビティも取得してしまうケースあり
・アクティビティ種類ごとの使用数も知りたい
・アクティビティ種類が英語なので日本語にしたい
終わりに
まだまだ初版(作ったばっかり)なので、少しづつ改良して行こうと思います。
作ってから言うのも微妙ですが、いつかこの手の「プロジェクトドキュメント化」ツールが「UiPath公式」で提供されることを期待しています。(Studioの機能にあっても良いのでは)
この記事が参考になったら、「LGTM」をお願いします。 閲覧ありがとうございました。