Automation Anywhereでのソース管理

# 概要
RPAプロジェクトで複数メンバーによるボット作成を行う際に、[Git](https://qiita.com/tags/git) / [Team Foundation Server (TFS)](https://qiita.com/tags/tfs) などのソースコード管理システムを別途導入しなければならないのが一般的です。Automation Anywhereは**「リポジトリ」**という仕組みがあり、複数メンバーでボットの作成を行う仕組みがあります。バージョン管理もSVNと連携してリポジトリの中で統合されたユーザーインターフェイスで行うことが可能です。

**対象**

* Automation Anywhere Enterprise 11.3.2
* ([Community Editionは不可](https://qiita.com/RPAbot/items/8d9b14a8b779d1d305e4#community-edition%E3%81%AE%E6%A9%9F%E8%83%BD%E7%9A%84%E5%88%B6%E9%99%90))
* (バージョン管理のオプション) [Apache Subversion (SVN)](https://qiita.com/tags/svn)

# 全体イメージ
リポジトリを使うと、おおまかに下記の図のような連携が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/f313fa46-e925-3cab-fcbc-341838f4b3e7.png)


# リポジトリでボットを集中管理
リポジトリにアップロードしたボットは、複数人で編集したり、Bot Runnerのパソコンにダウンロードして実行/スケジュールすることができるようになります。すべてログが残るため、プロジェクト全体を容易に把握することができます。

### アップロード / ダウンロード
Enterprise Clientの「管理 / リポジトリ」メニューをクリックすると、ダイアログボックスが開いて、Control Room上のファイルと、対応するフォルダーのローカルのファイルの状態を一覧することができます(閲覧権限があるファイル/フォルダーのみが表示されます)。

必要に応じてローカル→Control Roomにアプロードしたり、Control Room→ローカルにダウンロードしたり、内容を比較することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/0eee0781-6487-c5fb-5908-e6e8c861c5f9.png)

内容の比較は、1行毎の違いを見ることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/3d6baf8e-a265-de4b-269c-adefabb3dd6e.png)


リポジトリをControl Room側からも見ることができます。「マイBot」では、各ユーザーからアップロードされたファイルの一覧を見ることができます。(閲覧権限があるファイル/フォルダーのみが表示されます)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/3d081ec7-bf1d-fdfa-4b7b-8a66cc774ad0.png)

それぞれのボットの詳細も見ることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/af19a98b-d88e-950f-0efa-f0e2db622352.png)


### 実行 / スケジュール
Control RoomのマイBotでボットを選択して、「Botを実行...」もしくは「Botをスケジュール」することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/a0e72cd5-a24c-eadb-1b01-94ecb61f44eb.png)

ボットを実行するためのパソコン (Bot Runnerライセンスでログインしているパソコン)を指定すると、実行できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/7fb3907c-0898-f096-b4e6-8435166dba04.png)

ボットのスケジュールも同様です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/165aa4c4-62c3-8b3e-87e5-ebc92cd0167e.png)



# バージョン管理はSVNで
SVNとAutomation Anywhere Enterpriseを連携させることで、リポジトリはSVN上に保存されることになります。Control Roomの「管理 / 設定」項目に、「Bots / バージョン管理」があります。
![cr-version1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/e1b48d84-e3b9-1c57-0007-e7a376884174.png)

中には以下のような設定項目があります。バージョン管理機能を「有効」にすると、SVNのサーバー名、リポジトリパス、ログイン資格情報、接続プロトコルとポート番号などを聞かれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/61aa3b11-70df-c62f-0324-f18e829a8b56.png)

SVNと連携した状態では、以下のような画面でControl Room上の「マイBot」でバージョン管理ができるようになるようです。(手元で試しているわけではありませんが)
![renditionDownload.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/ffc38ed2-7a85-99a3-0ad6-7c3055f29114.png)


サポートされているSVNのバージョンは明確な記載がなかったですが、[このQ&A](https://apeople.automationanywhere.com/s/question/0D56F00006PFLjV/recommendations-to-set-up-svn-in-control-room-details-needed-about-svn-to-use?language=ja)やそこからたどれるKBを参照すると記載があるようです。また、Control Roomを複数建てる場合は、それぞれに専用のSVNリポジトリを用意する必要があります。

# SVNのインストールと連携方法
別途、SVNのインストールをステップバイステップで行ってAutomation Anywhereと連携させている記事があるのでご覧ください

* [Automation Anywhere - Subversionとの連携をやってみよう！（設定編）](https://licensecounter.jp/engineer-voice/blog/articles/20190924_AutomationAnywhere-SetUp_Subversion.html)

# まとめ
Automation Anywhere Enterpriseでは、複数人でのボット開発でも、他の仕組みを持ち込まずにきちんとバージョン管理を行いながら開発していくことが可能です。