狠狠撸

狠狠撸Share a Scribd company logo
Confidential – Do Not Distribute
Automation Anywhere A2019
アクションパッケージ開発
クイックスタートガイド
2020年9月
オートメーション?エニウェア?ジャパン株式会社
アジェンダ
? アクションパッケージ開発 概要
? 手順1. 開発環境?SDKサンプルの準備
? 手順2. コーディング?コンパイル
? 手順3. テスト環境への展開とテスト
? 手順4. Bot Storeへの提出 (オプション)
Confidential – Do Not Distribute 2
アクションパッケージ開発 概要
アクションパッケージ開発で実現できること
独自のアクション?パッケージ開発で一連の操作の部品化を実現
独自のアクション?
パッケージを追加可能 アイコンや表示項目の
指定可能
アクションの詳細画面の
設計可能
Confidential – Do Not Distribute 4
条件分岐、ループ処理の条件等も開発可能
アクションパッケージ開発のメリット
Confidential – Do Not Distribute 5
組織内のさまざまな部門でBotを
作成する際に、システムへのログ
イン、共通の操作等を別々に作り
こまずに共通化、一括でメンテナ
ンスすることにより開発効率向上、
メンテナンス性向上を実現できる。
Botのエラーが発生したりメン
テナンスを行う際に、部品のみ
を更新して配布するだけで済む。
また、API等の、現場では開発
が難しい高度な方法を使って開
発しておくことで動作の信頼性
も担保できる。
Bot Storeに掲載することで、
組織外のコミュニティにも貢献
が可能。また、フリーミアム、
もしくは有償化することで、
ノウハウをビジネスにすること
も可能。
部品化による使いまわし
でコスト削減
自動化の信頼性を向上 組織外コミュニティへの
貢献とビジネス化
部品化を行うことで開発効率、メンテナンス性、信頼性が向上し、
将来的にはビジネス化することも可能になります。
? 商用版Enterprise環境と必要な権限の準備
? Java IDE (IntelliJ IDEA / Eclipse) とJDKの準備
? Gradle環境でコンパイル
? .jarファイルの生成
? .jarファイルをControl Roomの管理画面でアップロード
? Bot Storeアカウントを登録
? パッケージの提出
1. 開発環境?SDKサンプルの準備
4. Bot Storeへの提出 (オプション)
2. コーディング?コンパイル
3. テスト環境への展開とテスト
アクションパッケージ開発 大まかな流れ
Confidential – Do Not Distribute 6
Bot Store
構築済みインテリジェント?オートメーションの世界最大のマーケットプレイス
botstore.automationanywhere.com/jp
自動化の開発を爆速化
開発を半分のコストで70%高速化できる
専門家のノウハウを活用
プロセス、自動化、システム統合の専門家によって構築
されたBotをそのまま利用できる
メンテナンスコストを削減
API を使って実装され、アプリケーションの進化に伴い
更新される
信頼性を確保
マルウェアのチェック済み、セキュリティ?信頼性?再
利用性についての開発標準に従ったBotを利用できる
800以上
ボット数
20
デジタル
ワーカー
12.5万
ダウンロード
数
豊富な
自動化の
アイディア
すぐに
雇用可能な
エキスパート
Confidential – Do Not Distribute 7
財務 & 会計
人工知能 & コグニティブ
クラウドプラットフォーム
サプライチェーン管理
人事管理
IT 管理
販売支援
生産性向上
Bot Store
多くのエンタープライス
アプリケーションをサポート
アクションパッケージ開発 学習方法/参考資料
? 製品ドキュメント (日本語もあるが最新版入手のため英語を推奨)
? A2019 Package Software Development Kit (SDK)
? ハウツーガイド
? アクションから値を返す
? アクションをプロパティとして公開する
? If 条件に条件を追加する
? ループ アクションに反復子を追加する
? bot_launcher.log ファイルにデバッグ ログを追加する
? カスタム パッケージのセッションの処理
? Bot Store Submission Checklist
Confidential – Do Not Distribute 9
アクションパッケージ開発 学習方法/参考資料
? Qiita
? Windows 10にIntelliJ IDEA Community Edition 2020.1をインストールして日本語化してみた
(2020.1以降の新しい方法)
https://qiita.com/RPAbot/items/282d859344d1e96a953f
? Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #1
~まずは SDK サンプルをそのままビルドして使う
https://qiita.com/RPAbot/items/3ea4216f1b94f76df0b3
? Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2
SDK サンプルを変更してオリジナルパッケージを構築!
https://qiita.com/RPAbot/items/978a12167d26edeb319b
Confidential – Do Not Distribute 10
手順1. 開発環境?SDKサンプルの準備
Confidential – Do Not Distribute 12
必要な開発環境
? Control Room
? Automation Anywhere Enterprise A2019 商用版
? 開発クライアント
? JDK 11 (Azul Zulu Community 11等)
? IntelliJ IDEA (Java等の統合開発環境、Eclipseでもよい)+Gradle plug-in v.5.x.x
? Japanese Language Pack EAP
? Gradle (オープンソースビルド自動化システム)
Confidential – Do Not Distribute 13
Java統合環境 IntelliJ IDEA Community Editionのダウンロード
https://www.jetbrains.com/ja-jp/idea/download/
参考記事: 『IDEの起動と日本語化プラグインの入手、インストール』
2020年9月現在
最新版
ビルド: 202.6948.69
2020年8月25日
Confidential – Do Not Distribute 14
IntelliJ IDEA Community Editionのインストール
ダウンロードしたidealC-XXXX.X.X.exeを実行
必要に応じてファイルの関連付けに
チェックを入れます。
Confidential – Do Not Distribute 15
SDKファイルのダウンロードと展開
? A2019 Package Software Development Kit (SDK)
? 英語ページより最新版を入手
(2020年9月現在の最新版はA2019.15 A2019-package-sdk.2.0.4.zip)
? ZIPファイルをダウンロード後、展開します。
? IntelliJ起動後、展開したフォルダーを開きます。
(以降の画面はSDKバージョン2.0.1)
Confidential – Do Not Distribute 16
統合環境の設定
? JDK が見つからないという
エラーが出ているので、
「Open Gradle Settings」
をクリックしてJDKをインス
トール
17
設定画面でJDKのダウンロード
? 開かれた設定画面の
「Gradle JVM」で
「Download SDK…」を選択
? Azul Zulu Community 11を選択
? インストール後環境変数設定
例:
set JAVA_HOME=C:?Users?(User名)?.jdks?azul-11.0.7
手順2. コーディング?コンパイル
Confidential – Do Not Distribute 19
パッケージのビルド (コマンドライン)~まずはそのままコンパイル
? IDEの中のTerminalから、環境変数JAVA_HOMEの設定を行った後、ビルドコマンド
gradlew.bat clean build shadowJar
を実行します。すると、ビルドが始まります。
Confidential – Do Not Distribute 20
ビルド結果
ビルドが完了したら、(プロジェクトフォルダ)?build?libsにA2019DemoPackage-X.X.X.jarファイルが出力される
「手順3:テスト環境への展開とテスト」に従ってControl Roomにアップして使ってみよう
D:?AASDK?A2019-package-sdk-2.0.1>gradlew.bat clean build shadowJar
Downloading https://services.gradle.org/distributions/gradle-5.4.1-bin.zip
...................................................................................
Welcome to Gradle 5.4.1!
Here are the highlights of this release:
- Run builds with JDK12
- New API for Incremental Tasks
- Updates to native projects, including Swift 5 support
For more details see https://docs.gradle.org/5.4.1/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileJava
...
> Task :commandCodeGen
mergeJsonFiles: updatePackage: group com.automationanywhere , artifactName A2019DemoPackage , packageVersion 2.0.1-20200607-015603
BUILD SUCCESSFUL in 51s
6 actionable tasks: 5 executed, 1 up-to-date
D:?AASDK?A2019-package-sdk-2.0.1>
Confidential – Do Not Distribute 21
SDKサンプルをそのままビルドしてアップロードしたときに追加されるアクション
2.0.1の場合
Confidential – Do Not Distribute 22
SDKサンプルのフォルダーの構造
実際にファイルが置いてある場所に新しくファイルを作成したり、ファイルを削除したりと
いった操作を行うと、IDE側のツリー構造にも自動的に反映されます。
Confidential – Do Not Distribute 23
アノテーション (注釈)とは
? A2019 SDKでは独自で定義されている。
(com.automationanywhere.commandsdk.annotationsを参照)
? パッケージを開発するにあたり、以下のようなカスタムアノテーションを利用
? アノテーション
? Creation and functionアノテーション: パッケージの中のアクションの詳細 (名前、引数など)を定義
@BotCommand, @CommandPkg, @ConditionTest, @Execute, @GlobalSessionContext,
@HasNext, @Idx, @Idx.Option, @Inject, @Next, @Pkg
? Validation アノテーション: アクションの詳細でインプットされたデータの検証
@CodeType, @CredentialOnly, @Equals, @FileExtension, @GreaterThan,
@GreaterThanEqualTo, @LessThan, @LessThanEqualTo, @LocalFile, @MatchesRegex,
@NotEmpty, @NotEquals, @NotMatchesRegex, @NumberInteger, @RepositoryFile,
@VariableNotPackage, @VariablePackage, @VariableSubType, @VariableType,
@VariableUserDefined
Confidential – Do Not Distribute 24
その他コーディングに必要な知識
? ハウツーガイド
? アクションから値を返す
? アクションをプロパティとして公開する
? If 条件に条件を追加する
? ループ アクションに反復子を追加する
? bot_launcher.log ファイルにデバッグ ログを追加する
? カスタム パッケージのセッションの処理
Confidential – Do Not Distribute 25
アイコンの作成
? SVG形式のものが使えます。
? SVG形式のファイルを直接編集
できる無料ツールがあります。
たとえばINKSCAPEを使うと
よいでしょう。
https://inkscape.org/ja/
サンプルソースコードの改変
例題1: 日本語のUI表示用リソースを追加
Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2
SDK サンプルを変更してオリジナルパッケージを構築!
https://qiita.com/RPAbot/items/978a12167d26edeb319b
サンプルソースコードの改変
例題2: 不要なアクションを削除してみる
Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2
SDK サンプルを変更してオリジナルパッケージを構築!
https://qiita.com/RPAbot/items/978a12167d26edeb319b
サンプルソースコードの改変
例題3: オリジナルのアクションを作成
半角?全角の変換 (ICU4Jを利用)
Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2
SDK サンプルを変更してオリジナルパッケージを構築!
https://qiita.com/RPAbot/items/978a12167d26edeb319b
Confidential – Do Not Distribute 29
開発時のコツ、注意事項
? アイコンはSVG形式で作成しresourceへ配置して、アノテーションで指定してください。
? 依存関係(外部パッケージ)については、利用するものをbuild.gradleへすべて記載すること。
そうすることで、必要なライブラリファイルが出力される.jarファイルに取り込まれます。
? エラーメッセージはBot Runtime frameworkの i18n APIについている
BotCommandException()を利用し、多言語対応させてください。他のUI要素も同様。
? インプットされたデータの検証にはValidationアノテーションを利用してください。
? ループはCPU負荷を上げやすく、ボットが応答しない原因となるため、極力避けてください。
? ログ出力には、Bot Runtime frameworkの共通ライブラリについているlog4Jを利用してください。
製品ドキュメント『パッケージの開発のための標準のコーディング方法とガイドライン』
手順3. テスト環境への展開とテスト
Confidential – Do Not Distribute 31
パッケージのControl Roomへのアップロード
? Control Roomにパッケージを追加する権限を持っているユーザーであれば、
[Bot]-[パッケージ]で、[Packageを追加...] メニューを使うことができます。
Confidential – Do Not Distribute 32
パッケージのControl Roomへのアップロード
? ビルドした.jarファイルを「アップロードするパッケージ」に指定してください。
「パッケージをアップロード」ボタンをクリックします。
Confidential – Do Not Distribute 33
パッケージのControl Roomへのアップロード
? 問題なければ [承認、有効、デフォルトとして設定] ボタンをクリックします。
? これで、Bot構築画面にパッケージが追加されました。
Confidential – Do Not Distribute 34
アップロード時にエラーが出る場合
? jsonファイルなどの文法が間違っていても、ビルドは通ってしまうことがあります。パッケージのアップ
ロード時に以下のようなエラーが出てアップロードできない場合は、データファイルの文法などがどこかで
間違っていないか、もう一度確認してみてください。
手順4. Bot Storeへの提出
Confidential – Do Not Distribute
Bot Storeへの提出 概要
? 提出の手順
1. Bot Templateを元にBotを作成
2. Control RoomからBot Storeへ提出
3. Bot Storeにて必要な情報を記入
? 開発に必要なもの
? Bot Storeアカウント
? Readmeファイル
? (パッケージ開発の場合)JavaのSDKおよびIDE
36
Confidential – Do Not Distribute
Control RoomをBot Storeへ接続
Bot Store アカウントのログイン情報を入力しログインします
37
Confidential – Do Not Distribute
Bot Templateをインポートし、Bot作成
? A2019 Bot Store Bot Template (GitHub)をダウンロードし、
BotStoreTemplate.zipをインポートします
? Bot Store submissions checklistに従いBotを作成します
38
Confidential – Do Not Distribute
Control Roomからの提出
? 作成したBotをControl Room上で公開しておく
? 作成したBotを選び、「Bot Storeに送信」をクリック
※Bot Storeフォルダ内のボットの場合のみ表示されます
39
Confidential – Do Not Distribute
Bot Storeへの提出画面 – Control Room内
対象のBot名を確認し、次へをクリック
40
Confidential – Do Not Distribute
Bot Storeへの提出画面 – Control Room内
対象のBot名に含まれるパッケージ確認し、送信ボタンをクリック
41
Confidential – Do Not Distribute
Bot Storeへの提出画面 – Control Room内
Bot Storeへのアップロードが完了したため、Take me to the Bot Storeをクリック
42
Confidential – Do Not Distribute
Bot Storeへの提出画面 – Bot Store内
提出済みのBotが一覧表示されるため、
Please fill out the form to finish your submissionをクリック
43
Confidential – Do Not Distribute
Bot 提出フォーム
提出フォームが表示されるため1つずつフォームを入力していきます
44
Confidential – Do Not Distribute
Bot 提出フォーム
Bot/デジタルワーカー/パッケージを選択
45
Confidential – Do Not Distribute
Bot 提出フォーム
提出するBotの名前を10文字以上55文字以内で入力
46
Confidential – Do Not Distribute
Bot 提出フォーム
説明画面で表示するためのメディアとして、Youtubeまたは画像を指定
47
Confidential – Do Not Distribute
Bot 提出フォーム
60~160字の簡単な紹介文を入力
48
Confidential – Do Not Distribute
Bot 提出フォーム
利用することで得られる効用を入力
49
Confidential – Do Not Distribute
Bot 提出フォーム
提出するBotの持つ機能を入力
50
Confidential – Do Not Distribute
Bot 提出フォーム
200~2000文字で詳細の説明を入力
51
Confidential – Do Not Distribute
Bot 提出フォーム
説明用の複数の画像を配置し、キャプションを設定
52
Confidential – Do Not Distribute
Bot 提出フォーム
価格を設定
※今回Freeのため現時点で価格の設定方法や請求方法については確認できていません。
53
Confidential – Do Not Distribute
Bot 提出フォーム
価格を設定
※今回Freeのため現時点で価格の設定方法や請求方法については確認できていません。
54
Confidential – Do Not Distribute
Bot 提出フォーム
対象となるアプリケーションを選択
55
Confidential – Do Not Distribute
Bot 提出フォーム
対象となる業務の種類を選択
56
Confidential – Do Not Distribute
Bot 提出フォーム
Botのカテゴリーを選択
57
Confidential – Do Not Distribute
Bot 提出フォーム
対象となるバージョンを選択 (自動的にA2019が選択されています)
58
Confidential – Do Not Distribute
Bot 提出フォーム
Community Editionではサポートしない選択をします
59
Confidential – Do Not Distribute
Bot 提出フォーム
あらかじめ登録されたベンダーを選択します
60
Confidential – Do Not Distribute
Bot 提出フォーム
ベンダーとして登録されていない場合はフォームから
登録します
61
Confidential – Do Not Distribute
Bot 提出フォーム
? Readmeファイルを添付します
? Readmeファイルはテンプレートに含まれるものを利用し、4MB以内のPDFファイルにします
? 11.x Readme Template or A2019 Readme Template
? Bot Storeにて公開されるため機密情報は記入しないようにしてください
62
Confidential – Do Not Distribute
Bot 提出フォーム
End User License Agreementがある場合は添付します
63
Confidential – Do Not Distribute
Bot 提出フォーム
サポート有無を選択します。有償の場合はサポートは必須です
64
Confidential – Do Not Distribute
Bot 提出フォーム
Bot を実行するために必要なものを入力します
65
Confidential – Do Not Distribute
Bot 提出フォーム
ライセンス条項の同意にチェックをし、Submit Your Botをクリックします
66
Confidential – Do Not Distribute
Bot 提出フォーム
提出が完了したので、Go to My Submissionsボタンをクリックします
67
Confidential – Do Not Distribute
Bot StoreのSubmissions画面
? 提出済みのBotが一覧表示され、フォームに記入したBotのステータスがPendingになります
? 通常3営業日以内にレビューが実施され、公開されるとPublishedになります
68
Automation Anywhere Enterprise A2019 アクションパッケージ開発クイックスタートガイド

More Related Content

Automation Anywhere Enterprise A2019 アクションパッケージ開発クイックスタートガイド

  • 1. Confidential – Do Not Distribute Automation Anywhere A2019 アクションパッケージ開発 クイックスタートガイド 2020年9月 オートメーション?エニウェア?ジャパン株式会社
  • 2. アジェンダ ? アクションパッケージ開発 概要 ? 手順1. 開発環境?SDKサンプルの準備 ? 手順2. コーディング?コンパイル ? 手順3. テスト環境への展開とテスト ? 手順4. Bot Storeへの提出 (オプション) Confidential – Do Not Distribute 2
  • 5. アクションパッケージ開発のメリット Confidential – Do Not Distribute 5 組織内のさまざまな部門でBotを 作成する際に、システムへのログ イン、共通の操作等を別々に作り こまずに共通化、一括でメンテナ ンスすることにより開発効率向上、 メンテナンス性向上を実現できる。 Botのエラーが発生したりメン テナンスを行う際に、部品のみ を更新して配布するだけで済む。 また、API等の、現場では開発 が難しい高度な方法を使って開 発しておくことで動作の信頼性 も担保できる。 Bot Storeに掲載することで、 組織外のコミュニティにも貢献 が可能。また、フリーミアム、 もしくは有償化することで、 ノウハウをビジネスにすること も可能。 部品化による使いまわし でコスト削減 自動化の信頼性を向上 組織外コミュニティへの 貢献とビジネス化 部品化を行うことで開発効率、メンテナンス性、信頼性が向上し、 将来的にはビジネス化することも可能になります。
  • 6. ? 商用版Enterprise環境と必要な権限の準備 ? Java IDE (IntelliJ IDEA / Eclipse) とJDKの準備 ? Gradle環境でコンパイル ? .jarファイルの生成 ? .jarファイルをControl Roomの管理画面でアップロード ? Bot Storeアカウントを登録 ? パッケージの提出 1. 開発環境?SDKサンプルの準備 4. Bot Storeへの提出 (オプション) 2. コーディング?コンパイル 3. テスト環境への展開とテスト アクションパッケージ開発 大まかな流れ Confidential – Do Not Distribute 6
  • 7. Bot Store 構築済みインテリジェント?オートメーションの世界最大のマーケットプレイス botstore.automationanywhere.com/jp 自動化の開発を爆速化 開発を半分のコストで70%高速化できる 専門家のノウハウを活用 プロセス、自動化、システム統合の専門家によって構築 されたBotをそのまま利用できる メンテナンスコストを削減 API を使って実装され、アプリケーションの進化に伴い 更新される 信頼性を確保 マルウェアのチェック済み、セキュリティ?信頼性?再 利用性についての開発標準に従ったBotを利用できる 800以上 ボット数 20 デジタル ワーカー 12.5万 ダウンロード 数 豊富な 自動化の アイディア すぐに 雇用可能な エキスパート Confidential – Do Not Distribute 7
  • 8. 財務 & 会計 人工知能 & コグニティブ クラウドプラットフォーム サプライチェーン管理 人事管理 IT 管理 販売支援 生産性向上 Bot Store 多くのエンタープライス アプリケーションをサポート
  • 9. アクションパッケージ開発 学習方法/参考資料 ? 製品ドキュメント (日本語もあるが最新版入手のため英語を推奨) ? A2019 Package Software Development Kit (SDK) ? ハウツーガイド ? アクションから値を返す ? アクションをプロパティとして公開する ? If 条件に条件を追加する ? ループ アクションに反復子を追加する ? bot_launcher.log ファイルにデバッグ ログを追加する ? カスタム パッケージのセッションの処理 ? Bot Store Submission Checklist Confidential – Do Not Distribute 9
  • 10. アクションパッケージ開発 学習方法/参考資料 ? Qiita ? Windows 10にIntelliJ IDEA Community Edition 2020.1をインストールして日本語化してみた (2020.1以降の新しい方法) https://qiita.com/RPAbot/items/282d859344d1e96a953f ? Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #1 ~まずは SDK サンプルをそのままビルドして使う https://qiita.com/RPAbot/items/3ea4216f1b94f76df0b3 ? Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2 SDK サンプルを変更してオリジナルパッケージを構築! https://qiita.com/RPAbot/items/978a12167d26edeb319b Confidential – Do Not Distribute 10
  • 12. Confidential – Do Not Distribute 12 必要な開発環境 ? Control Room ? Automation Anywhere Enterprise A2019 商用版 ? 開発クライアント ? JDK 11 (Azul Zulu Community 11等) ? IntelliJ IDEA (Java等の統合開発環境、Eclipseでもよい)+Gradle plug-in v.5.x.x ? Japanese Language Pack EAP ? Gradle (オープンソースビルド自動化システム)
  • 13. Confidential – Do Not Distribute 13 Java統合環境 IntelliJ IDEA Community Editionのダウンロード https://www.jetbrains.com/ja-jp/idea/download/ 参考記事: 『IDEの起動と日本語化プラグインの入手、インストール』 2020年9月現在 最新版 ビルド: 202.6948.69 2020年8月25日
  • 14. Confidential – Do Not Distribute 14 IntelliJ IDEA Community Editionのインストール ダウンロードしたidealC-XXXX.X.X.exeを実行 必要に応じてファイルの関連付けに チェックを入れます。
  • 15. Confidential – Do Not Distribute 15 SDKファイルのダウンロードと展開 ? A2019 Package Software Development Kit (SDK) ? 英語ページより最新版を入手 (2020年9月現在の最新版はA2019.15 A2019-package-sdk.2.0.4.zip) ? ZIPファイルをダウンロード後、展開します。 ? IntelliJ起動後、展開したフォルダーを開きます。 (以降の画面はSDKバージョン2.0.1)
  • 16. Confidential – Do Not Distribute 16 統合環境の設定 ? JDK が見つからないという エラーが出ているので、 「Open Gradle Settings」 をクリックしてJDKをインス トール
  • 17. 17 設定画面でJDKのダウンロード ? 開かれた設定画面の 「Gradle JVM」で 「Download SDK…」を選択 ? Azul Zulu Community 11を選択 ? インストール後環境変数設定 例: set JAVA_HOME=C:?Users?(User名)?.jdks?azul-11.0.7
  • 19. Confidential – Do Not Distribute 19 パッケージのビルド (コマンドライン)~まずはそのままコンパイル ? IDEの中のTerminalから、環境変数JAVA_HOMEの設定を行った後、ビルドコマンド gradlew.bat clean build shadowJar を実行します。すると、ビルドが始まります。
  • 20. Confidential – Do Not Distribute 20 ビルド結果 ビルドが完了したら、(プロジェクトフォルダ)?build?libsにA2019DemoPackage-X.X.X.jarファイルが出力される 「手順3:テスト環境への展開とテスト」に従ってControl Roomにアップして使ってみよう D:?AASDK?A2019-package-sdk-2.0.1>gradlew.bat clean build shadowJar Downloading https://services.gradle.org/distributions/gradle-5.4.1-bin.zip ................................................................................... Welcome to Gradle 5.4.1! Here are the highlights of this release: - Run builds with JDK12 - New API for Incremental Tasks - Updates to native projects, including Swift 5 support For more details see https://docs.gradle.org/5.4.1/release-notes.html Starting a Gradle Daemon (subsequent builds will be faster) > Task :compileJava ... > Task :commandCodeGen mergeJsonFiles: updatePackage: group com.automationanywhere , artifactName A2019DemoPackage , packageVersion 2.0.1-20200607-015603 BUILD SUCCESSFUL in 51s 6 actionable tasks: 5 executed, 1 up-to-date D:?AASDK?A2019-package-sdk-2.0.1>
  • 21. Confidential – Do Not Distribute 21 SDKサンプルをそのままビルドしてアップロードしたときに追加されるアクション 2.0.1の場合
  • 22. Confidential – Do Not Distribute 22 SDKサンプルのフォルダーの構造 実際にファイルが置いてある場所に新しくファイルを作成したり、ファイルを削除したりと いった操作を行うと、IDE側のツリー構造にも自動的に反映されます。
  • 23. Confidential – Do Not Distribute 23 アノテーション (注釈)とは ? A2019 SDKでは独自で定義されている。 (com.automationanywhere.commandsdk.annotationsを参照) ? パッケージを開発するにあたり、以下のようなカスタムアノテーションを利用 ? アノテーション ? Creation and functionアノテーション: パッケージの中のアクションの詳細 (名前、引数など)を定義 @BotCommand, @CommandPkg, @ConditionTest, @Execute, @GlobalSessionContext, @HasNext, @Idx, @Idx.Option, @Inject, @Next, @Pkg ? Validation アノテーション: アクションの詳細でインプットされたデータの検証 @CodeType, @CredentialOnly, @Equals, @FileExtension, @GreaterThan, @GreaterThanEqualTo, @LessThan, @LessThanEqualTo, @LocalFile, @MatchesRegex, @NotEmpty, @NotEquals, @NotMatchesRegex, @NumberInteger, @RepositoryFile, @VariableNotPackage, @VariablePackage, @VariableSubType, @VariableType, @VariableUserDefined
  • 24. Confidential – Do Not Distribute 24 その他コーディングに必要な知識 ? ハウツーガイド ? アクションから値を返す ? アクションをプロパティとして公開する ? If 条件に条件を追加する ? ループ アクションに反復子を追加する ? bot_launcher.log ファイルにデバッグ ログを追加する ? カスタム パッケージのセッションの処理
  • 25. Confidential – Do Not Distribute 25 アイコンの作成 ? SVG形式のものが使えます。 ? SVG形式のファイルを直接編集 できる無料ツールがあります。 たとえばINKSCAPEを使うと よいでしょう。 https://inkscape.org/ja/
  • 26. サンプルソースコードの改変 例題1: 日本語のUI表示用リソースを追加 Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2 SDK サンプルを変更してオリジナルパッケージを構築! https://qiita.com/RPAbot/items/978a12167d26edeb319b
  • 27. サンプルソースコードの改変 例題2: 不要なアクションを削除してみる Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2 SDK サンプルを変更してオリジナルパッケージを構築! https://qiita.com/RPAbot/items/978a12167d26edeb319b
  • 28. サンプルソースコードの改変 例題3: オリジナルのアクションを作成 半角?全角の変換 (ICU4Jを利用) Automation Anywhere A2019 の共通開発部品であるパッケージを作成する #2 SDK サンプルを変更してオリジナルパッケージを構築! https://qiita.com/RPAbot/items/978a12167d26edeb319b
  • 29. Confidential – Do Not Distribute 29 開発時のコツ、注意事項 ? アイコンはSVG形式で作成しresourceへ配置して、アノテーションで指定してください。 ? 依存関係(外部パッケージ)については、利用するものをbuild.gradleへすべて記載すること。 そうすることで、必要なライブラリファイルが出力される.jarファイルに取り込まれます。 ? エラーメッセージはBot Runtime frameworkの i18n APIについている BotCommandException()を利用し、多言語対応させてください。他のUI要素も同様。 ? インプットされたデータの検証にはValidationアノテーションを利用してください。 ? ループはCPU負荷を上げやすく、ボットが応答しない原因となるため、極力避けてください。 ? ログ出力には、Bot Runtime frameworkの共通ライブラリについているlog4Jを利用してください。 製品ドキュメント『パッケージの開発のための標準のコーディング方法とガイドライン』
  • 31. Confidential – Do Not Distribute 31 パッケージのControl Roomへのアップロード ? Control Roomにパッケージを追加する権限を持っているユーザーであれば、 [Bot]-[パッケージ]で、[Packageを追加...] メニューを使うことができます。
  • 32. Confidential – Do Not Distribute 32 パッケージのControl Roomへのアップロード ? ビルドした.jarファイルを「アップロードするパッケージ」に指定してください。 「パッケージをアップロード」ボタンをクリックします。
  • 33. Confidential – Do Not Distribute 33 パッケージのControl Roomへのアップロード ? 問題なければ [承認、有効、デフォルトとして設定] ボタンをクリックします。 ? これで、Bot構築画面にパッケージが追加されました。
  • 34. Confidential – Do Not Distribute 34 アップロード時にエラーが出る場合 ? jsonファイルなどの文法が間違っていても、ビルドは通ってしまうことがあります。パッケージのアップ ロード時に以下のようなエラーが出てアップロードできない場合は、データファイルの文法などがどこかで 間違っていないか、もう一度確認してみてください。
  • 36. Confidential – Do Not Distribute Bot Storeへの提出 概要 ? 提出の手順 1. Bot Templateを元にBotを作成 2. Control RoomからBot Storeへ提出 3. Bot Storeにて必要な情報を記入 ? 開発に必要なもの ? Bot Storeアカウント ? Readmeファイル ? (パッケージ開発の場合)JavaのSDKおよびIDE 36
  • 37. Confidential – Do Not Distribute Control RoomをBot Storeへ接続 Bot Store アカウントのログイン情報を入力しログインします 37
  • 38. Confidential – Do Not Distribute Bot Templateをインポートし、Bot作成 ? A2019 Bot Store Bot Template (GitHub)をダウンロードし、 BotStoreTemplate.zipをインポートします ? Bot Store submissions checklistに従いBotを作成します 38
  • 39. Confidential – Do Not Distribute Control Roomからの提出 ? 作成したBotをControl Room上で公開しておく ? 作成したBotを選び、「Bot Storeに送信」をクリック ※Bot Storeフォルダ内のボットの場合のみ表示されます 39
  • 40. Confidential – Do Not Distribute Bot Storeへの提出画面 – Control Room内 対象のBot名を確認し、次へをクリック 40
  • 41. Confidential – Do Not Distribute Bot Storeへの提出画面 – Control Room内 対象のBot名に含まれるパッケージ確認し、送信ボタンをクリック 41
  • 42. Confidential – Do Not Distribute Bot Storeへの提出画面 – Control Room内 Bot Storeへのアップロードが完了したため、Take me to the Bot Storeをクリック 42
  • 43. Confidential – Do Not Distribute Bot Storeへの提出画面 – Bot Store内 提出済みのBotが一覧表示されるため、 Please fill out the form to finish your submissionをクリック 43
  • 44. Confidential – Do Not Distribute Bot 提出フォーム 提出フォームが表示されるため1つずつフォームを入力していきます 44
  • 45. Confidential – Do Not Distribute Bot 提出フォーム Bot/デジタルワーカー/パッケージを選択 45
  • 46. Confidential – Do Not Distribute Bot 提出フォーム 提出するBotの名前を10文字以上55文字以内で入力 46
  • 47. Confidential – Do Not Distribute Bot 提出フォーム 説明画面で表示するためのメディアとして、Youtubeまたは画像を指定 47
  • 48. Confidential – Do Not Distribute Bot 提出フォーム 60~160字の簡単な紹介文を入力 48
  • 49. Confidential – Do Not Distribute Bot 提出フォーム 利用することで得られる効用を入力 49
  • 50. Confidential – Do Not Distribute Bot 提出フォーム 提出するBotの持つ機能を入力 50
  • 51. Confidential – Do Not Distribute Bot 提出フォーム 200~2000文字で詳細の説明を入力 51
  • 52. Confidential – Do Not Distribute Bot 提出フォーム 説明用の複数の画像を配置し、キャプションを設定 52
  • 53. Confidential – Do Not Distribute Bot 提出フォーム 価格を設定 ※今回Freeのため現時点で価格の設定方法や請求方法については確認できていません。 53
  • 54. Confidential – Do Not Distribute Bot 提出フォーム 価格を設定 ※今回Freeのため現時点で価格の設定方法や請求方法については確認できていません。 54
  • 55. Confidential – Do Not Distribute Bot 提出フォーム 対象となるアプリケーションを選択 55
  • 56. Confidential – Do Not Distribute Bot 提出フォーム 対象となる業務の種類を選択 56
  • 57. Confidential – Do Not Distribute Bot 提出フォーム Botのカテゴリーを選択 57
  • 58. Confidential – Do Not Distribute Bot 提出フォーム 対象となるバージョンを選択 (自動的にA2019が選択されています) 58
  • 59. Confidential – Do Not Distribute Bot 提出フォーム Community Editionではサポートしない選択をします 59
  • 60. Confidential – Do Not Distribute Bot 提出フォーム あらかじめ登録されたベンダーを選択します 60
  • 61. Confidential – Do Not Distribute Bot 提出フォーム ベンダーとして登録されていない場合はフォームから 登録します 61
  • 62. Confidential – Do Not Distribute Bot 提出フォーム ? Readmeファイルを添付します ? Readmeファイルはテンプレートに含まれるものを利用し、4MB以内のPDFファイルにします ? 11.x Readme Template or A2019 Readme Template ? Bot Storeにて公開されるため機密情報は記入しないようにしてください 62
  • 63. Confidential – Do Not Distribute Bot 提出フォーム End User License Agreementがある場合は添付します 63
  • 64. Confidential – Do Not Distribute Bot 提出フォーム サポート有無を選択します。有償の場合はサポートは必須です 64
  • 65. Confidential – Do Not Distribute Bot 提出フォーム Bot を実行するために必要なものを入力します 65
  • 66. Confidential – Do Not Distribute Bot 提出フォーム ライセンス条項の同意にチェックをし、Submit Your Botをクリックします 66
  • 67. Confidential – Do Not Distribute Bot 提出フォーム 提出が完了したので、Go to My Submissionsボタンをクリックします 67
  • 68. Confidential – Do Not Distribute Bot StoreのSubmissions画面 ? 提出済みのBotが一覧表示され、フォームに記入したBotのステータスがPendingになります ? 通常3営業日以内にレビューが実施され、公開されるとPublishedになります 68