13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【UiPath】プロジェクトの内容をドキュメント化したい

Last updated at Posted at 2021-02-11

はじめに

この投稿は「UiPathのプロジェクトを読み取って、その内容を出力するツールを作る」という内容です。「コードレビュー」を楽にするために作りました。

作成したもの

PJDocument という名前で、UiPathMarketに公開しています。(ProjectDocumentの意)
スニペット形式(xamlファイル形式)でアップしているので、自分用にアレンジも可能です。
 UiPath marketplace - PJDocument
image.png

作成した背景

自分で作ったコードの見直しをしたり、他人の作ったコードのレビューをする際に、多くの人が UiPathStudioの「ワークフローアナライザー」を使うと思います。

 ↓↓↓ UiPath Studio Guide - About Workflow Analyzer
Workflow Analyzer

「ワークフローアナライザー」は優秀で「良くないコード」を教えてくれますが、レビューでは「良いも悪いも含めて、一覧で俯瞰したい」時があります。
が、UiPathこの一覧機能が今のところありません。

なので、例えば「ネーミングに統一感があるか?誤字脱字は無いか?」を見たいときには、現状ではファイルをひとつひとつ開いて確認していきます。これが非常に辛い。

なにか良いツールは無いかな?と思ったら、ありました。

 ・UiPathのコーディングチェックツールを作ってみた【RPA】

まさにこれだ!と思ったのですが、使用するにはxamlファイルをアップロードする必要がありそうです。
ワークフローファイルは「業務仕様を記載したドキュメント」なので、ちょっと気が引けます。また、このサイトがなくなったらレビューできなくなり依存してしまうので、気軽には使えません。残念です。

なので、自分で作りました。

カスタムアクティビティやExe形式のプログラムだと「中で何やってるか分からないから使えない。ダメ!」となりそうなので、xamlファイルで書きます。

出力結果はHTMLにして、ネットに接続できないスタンドアローンな環境でも見れるようにします。

処理フローのイメージ

プロジェクト内のxamlファイルをループしながら情報を取得しデータテーブルに格納していきます。最後にデータテーブルの内容を、HTMLに出力します。

image.png
image.png
image.png

実行結果

下記のようなHTMLが出力されます。

UiPathアカデミーのReFrameworkを使った課題のプロジェクトを読み込ませました。(一部のファイルはわざと抜粋しています)

まず最初にproject.jsonの内容が出力されます。
「説明が入っているか?」「バージョンは正しいか」等を確認できます。
image.png

次にxamlファイルの一覧が出力されます。
説明(annotation)や呼び出し回数(invokedcount)を確認できます。
image.png

次にアクティビティの一覧が表示されます。
表示名(displayName)や説明(annotation)を確認できます
image.png

次は引数です。方向(direction)や変数名などを確認できます。
image.png

次は変数です。初期値(default)やスコープ(ScopeLevel)を確認できます。「Top」と記載されていれば、xamlファイル内全体のスコープです。
image.png

次はワークフロー呼び出しです。一覧に加えツリー構造でも確認できます。
image.png

次はUIセレクターの一覧です。タイムアウトやセレクター値を確認できます。
image.png

最後は起動アプリケーションです。アプリケーション名が確認できます。
image.png

課題

一応、形にはなりましたが、まだまだ課題があります。

・処理が少し冗長、かつ統一感がない
・無効にしているアクティビティも取得してしまうケースあり
・アクティビティ種類ごとの使用数も知りたい
・アクティビティ種類が英語なので日本語にしたい

終わりに

まだまだ初版(作ったばっかり)なので、少しづつ改良して行こうと思います。

作ってから言うのも微妙ですが、いつかこの手の「プロジェクトドキュメント化」ツールが「UiPath公式」で提供されることを期待しています。(Studioの機能にあっても良いのでは)

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

13
6
1

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
13
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?