Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作ってみた

OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作ってみた

きょうは UiPath Orchestrator と API と WEB アプリ、
その他についておはなしさせていただきます。

Masatomi KINO

October 17, 2020
Tweet

More Decks by Masatomi KINO

Other Decks in Programming

Transcript

  1. 3 #UiPathFriends #UiFes @masatomix 自己紹介 名前 木野 雅富 (きの まさとみ)

    会社名 株式会社 プライム・ブレインズ ロール システムアーキテクト Twitter https://twitter.com/masatomix Qiita https://qiita.com/masatomix UiPathとの関わり /属性 • 2017/04 くらいに UiPath Studioより先に Orchestrator にであう。 • UiPath Orchestratorの構築、ユーザへのヒアリングに基づくユーザのリリース 統制にあわせたOrchestratorの運用設計、設定、導入。 • UiPath Japan MVP 2019- 趣味 • ボルダリング • ホットヨガ
  2. 5 #UiPathFriends #UiFes @masatomix 公式より Orchestratorを使用すれば、組織内のすべての ロボットのプロビジョニングから、展開、実行、 監視、測定、追跡、セキュリティの確保まで、 あらゆることをブラウザから管理できます。 まとめると

    • リリース(配布)する「ワークフロー (xaml/nupkg)」の管理 • 「ワークフロー」を実行するPCの管理 • 「ワークフロー」のリモート実行、スケ ジュール実行 • 他システム連携 • StudioとRobotのライセンスの管理 • カスタムアクティビティの管理 なことができるWEBアプリケーションです。 UiPath Orchestrator (以下OC)って
  3. 6 #UiPathFriends #UiFes @masatomix こんなことできたらいいのに、とか、こんな情報が見られたらもっと便利なのに、 ってコトもあります。 でも Orchestrator って 画面で確認できる

    アラート、メール だけでなくSlack にほしいなぁ ライセンスの空き状 況が分からないな お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな Webhookにない イベントも検知し ないとダメだな ロボットの稼働ログ、 ロボットごとにダウン ロードするのめんどく さいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。
  4. 10 #UiPathFriends #UiFes @masatomix • PowerShellからAPIを定期的に呼び出して、ライセンス情報を確認する • UiPath RobotからAPIを呼び出して、アクティビティには存在しない機能を呼び出す •

    例:タスクをユーザ名でアサインする(APIでOCのユーザを検索 → 登録したタスクのIDを取得、 検索できたユーザに対して、APIでタスクの割り当てをおこなう、など) • OrchestratorのようなWeb画面をつくってみる → やってみました APIを使うとこんなことができます
  5. 14 #UiPathFriends #UiFes @masatomix • シンプルなWEBサーバ上に配置した、HTML5の WEBアプリケーション(バックエンド不要)。 • Vue.jsというJavaScriptのフレームワークを使 用している。

    • JavaScriptからAPIを利用してJSONデータを取 得し、画面表示をおこなっている。 • WEBサーバは、Firebase HostingというWEB サーバを使用しているが、EC2でももちろんOK。 (イントラネット上のIISサーバでもOKなハズ) しくみ
  6. 15 #UiPathFriends #UiFes @masatomix • APIをつかえば、OC画面からだけでなく、PowerShellとか自分の好きなプログラムで、OCの情 報を利用できることが分かりました。 • WEBアプリからも、OCの情報を利用できるので、作ろうと思えばOrchestratorのようなWEB アプリケーションも作成可能。

    • ただOCと同じモノを作っても意味ないけど、自分が作りたい画面・機能を作り込めるところが APIを使いこなす利点です。 • 例: Studio/Attendedで利用時間が多いロボット一覧を作る、ロボット削除&追加をワンタッチ でやる(できるかな)、ロボ・マシンをExcelの一覧から一括登録する、、プロセス一覧からすぐ ジョブを実行する、 etc. WEBアプリケーションをつくってみた
  7. 17 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ 画面で確認できるア ラート、メールだけ でなくSlackにほし いなぁ ライセンスの空き

    状況が分からない な Webhookにない イベントも検知し ないとダメだな • なにかスケジューラを使って (図中は、Google Cloud Scheduler) • 定期的に「APIを呼び出す」関数を起動してJSONデータを取得する • 結果をメールやSlackなどに通知する こんなときAPI
  8. 18 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • さきほどのWEBアプリみたいなモノを作り • 「ログ取得API」を呼び出す •

    取得結果をExcelファイルにしてダウンロード こんなときAPI ロボットの稼働ログ、 ロボットごとにダウ ンロードするのめん どくさいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。 • さきほどのWEBアプリみたいなモノを作り • Excelファイルを読み込む • その情報を「ロボット登録API」などでOCへ 登録する
  9. 19 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • コマンドプロンプトで、JavaScript(Node.js) のプログラムを実行 • 様々なAPIを呼び出して、情報をダウンロード

    • その情報をExcelに書き出す • Excelが使えないサーバ機での作業を想定して、 テキストファイルにも出力する こんなときAPI お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな
  10. 21 #UiPathFriends #UiFes @masatomix まとめ かけあしですが、Orchestrator APIを使ったWEBアプリケーションや、APIの活用方法をご 紹介しました。 最近ようやくOrchestrator 2020

    FTを個人的に構築してみたのですが、認証がIdentity Serverに統合されたよう で、OCの認証の処理シーケンスがOAuth/OpenID Connect 対応されていることが確認できました。 APIは認証のためアクセストークンを取得する必要があるのですが、外部システムがユーザからID/Passをもらうこ となくトークンのやりとりができるコトが確認できました。 なので、これからもっとAPI利用が加速すると思います! みんなでAPIを活用して、おもしろい機能や、OCに足 りない機能、便利な機能を開発してみましょう!
  11. 24 #UiPathFriends #UiFes @masatomix 参考: • Vue.js https://jp.vuejs.org/index.html • Vuetify

    — A Material Design Framework for Vue.js https://vuetifyjs.com/en/ • Firebase - Google Firebase https://firebase.google.com • Node.js is a JavaScript runtime https://nodejs.org/ja/ • さきほどのWEBアプリ(まだ開発中ですが) https://uipath-oc.web.app • uipath-orchestrator-api-node (上記のWEBアプリでも使用している、APIをJS上で使いやすくするライブラリ) https://www.npmjs.com/package/uipath-orchestrator-api-node ご清聴ありが とうございま した