Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作...
Search
Masatomi KINO
October 17, 2020
Programming
0
790
OCの API でこんなこともできるよ!Orchestrator みたいな Web アプリを作ってみた
きょうは UiPath Orchestrator と API と WEB アプリ、
その他についておはなしさせていただきます。
Masatomi KINO
October 17, 2020
Tweet
Share
More Decks by Masatomi KINO
See All by Masatomi KINO
OrchestratorにOAuthがやってきた2022年版
masatomix
0
350
OrchestratorにOAuthがやってきた
masatomix
0
480
UiPath Japan MVP になるまでの経緯と今後の活動計画について
masatomix
0
580
UiPath Studio単体からOrchestratorいろんな構成を速攻解説
masatomix
1
480
Attended Framework テンプレートを使ってみた
masatomix
1
280
Other Decks in Programming
See All in Programming
Go1.24で testing.B.Loopが爆誕
kuro_kurorrr
0
140
ローコードサービスの進化のためのモノレポ移行
taro28
1
330
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
goにおける コネクションプールの仕組み を軽く掘って見た
aronokuyama
0
110
OUPC2024 Day 1 解説
kowerkoint
0
390
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
2
1.6k
AHC 044 混合整数計画ソルバー解法
kiri8128
0
290
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
3
950
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
180
NestJSのコードからOpenAPIを自動生成する際の最適解を探す
astatsuya
0
170
PHPでお金を扱う時、終わりのない 謎の1円調査の旅にでなくて済む方法
nakka
3
960
AtCoder Heuristic First-step Vol.1 講義スライド
terryu16
2
970
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Automating Front-end Workflow
addyosmani
1369
200k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Code Review Best Practice
trishagee
67
18k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Unsuck your backbone
ammeep
669
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
610
Transcript
OCのAPIでこんなこともできるよ! OrchestratorみたいなWebアプリ を作ってみた Masatomi KINO @masatomix
自己紹介
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- 趣味 • ボルダリング • ホットヨガ
4 #UiPathFriends #UiFes @masatomix きょうは、UiPath Orchestrator と API とWEBアプリ、 その他についておはなしさせていただきます。
Orchestrator と API とWEBアプリのはなし
5 #UiPathFriends #UiFes @masatomix 公式より Orchestratorを使用すれば、組織内のすべての ロボットのプロビジョニングから、展開、実行、 監視、測定、追跡、セキュリティの確保まで、 あらゆることをブラウザから管理できます。 まとめると
• リリース(配布)する「ワークフロー (xaml/nupkg)」の管理 • 「ワークフロー」を実行するPCの管理 • 「ワークフロー」のリモート実行、スケ ジュール実行 • 他システム連携 • StudioとRobotのライセンスの管理 • カスタムアクティビティの管理 なことができるWEBアプリケーションです。 UiPath Orchestrator (以下OC)って
6 #UiPathFriends #UiFes @masatomix こんなことできたらいいのに、とか、こんな情報が見られたらもっと便利なのに、 ってコトもあります。 でも Orchestrator って 画面で確認できる
アラート、メール だけでなくSlack にほしいなぁ ライセンスの空き状 況が分からないな お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな Webhookにない イベントも検知し ないとダメだな ロボットの稼働ログ、 ロボットごとにダウン ロードするのめんどく さいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。
そこで Orchestratorの APIのはなし
8 #UiPathFriends #UiFes @masatomix HTTP(s)でリクエストをなげて、レスポンスと して、Orchestrator 画面に表示されている ような情報をJSONというデータ形式で受け取 る仕組み プログラムが扱いやすいJSON形式でデータが
取得できるので、他のプログラムから Orchestratorの情報を利用することができる APIとは Orchestratorの APIのはなし API呼び出し例: cURL
9 #UiPathFriends #UiFes @masatomix GUIで呼び出すツールもあります API呼び出し例 :Postman Orchestratorの APIのはなし
10 #UiPathFriends #UiFes @masatomix • PowerShellからAPIを定期的に呼び出して、ライセンス情報を確認する • UiPath RobotからAPIを呼び出して、アクティビティには存在しない機能を呼び出す •
例:タスクをユーザ名でアサインする(APIでOCのユーザを検索 → 登録したタスクのIDを取得、 検索できたユーザに対して、APIでタスクの割り当てをおこなう、など) • OrchestratorのようなWeb画面をつくってみる → やってみました APIを使うとこんなことができます
APIの便利さが伝わるように WEBアプリケーションをつくってみた
12 #UiPathFriends #UiFes @masatomix OCのAPIでできることを確認するために、 WEB開発の技術をつかって、OCのAPIを呼び 出すWEBアプリを作ってみました。 WEBアプリケーションをつくってみた
13 #UiPathFriends #UiFes @masatomix WEBアプリケーションをつくってみた(デモ)
14 #UiPathFriends #UiFes @masatomix • シンプルなWEBサーバ上に配置した、HTML5の WEBアプリケーション(バックエンド不要)。 • Vue.jsというJavaScriptのフレームワークを使 用している。
• JavaScriptからAPIを利用してJSONデータを取 得し、画面表示をおこなっている。 • WEBサーバは、Firebase HostingというWEB サーバを使用しているが、EC2でももちろんOK。 (イントラネット上のIISサーバでもOKなハズ) しくみ
15 #UiPathFriends #UiFes @masatomix • APIをつかえば、OC画面からだけでなく、PowerShellとか自分の好きなプログラムで、OCの情 報を利用できることが分かりました。 • WEBアプリからも、OCの情報を利用できるので、作ろうと思えばOrchestratorのようなWEB アプリケーションも作成可能。
• ただOCと同じモノを作っても意味ないけど、自分が作りたい画面・機能を作り込めるところが APIを使いこなす利点です。 • 例: Studio/Attendedで利用時間が多いロボット一覧を作る、ロボット削除&追加をワンタッチ でやる(できるかな)、ロボ・マシンをExcelの一覧から一括登録する、、プロセス一覧からすぐ ジョブを実行する、 etc. WEBアプリケーションをつくってみた
APIは他にもこんな使い 方できるよ 使い方例
17 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ 画面で確認できるア ラート、メールだけ でなくSlackにほし いなぁ ライセンスの空き
状況が分からない な Webhookにない イベントも検知し ないとダメだな • なにかスケジューラを使って (図中は、Google Cloud Scheduler) • 定期的に「APIを呼び出す」関数を起動してJSONデータを取得する • 結果をメールやSlackなどに通知する こんなときAPI
18 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • さきほどのWEBアプリみたいなモノを作り • 「ログ取得API」を呼び出す •
取得結果をExcelファイルにしてダウンロード こんなときAPI ロボットの稼働ログ、 ロボットごとにダウ ンロードするのめん どくさいなー ロボット一覧、マ シン一覧のExcelを 一括反映できたら イイのに。 • さきほどのWEBアプリみたいなモノを作り • Excelファイルを読み込む • その情報を「ロボット登録API」などでOCへ 登録する
19 #UiPathFriends #UiFes @masatomix APIは他にもこんな使い方できるよ • コマンドプロンプトで、JavaScript(Node.js) のプログラムを実行 • 様々なAPIを呼び出して、情報をダウンロード
• その情報をExcelに書き出す • Excelが使えないサーバ機での作業を想定して、 テキストファイルにも出力する こんなときAPI お客様の環境に設 定した情報、エビ デンスとしてExcel にダンプしたいな
まとめ
21 #UiPathFriends #UiFes @masatomix まとめ かけあしですが、Orchestrator APIを使ったWEBアプリケーションや、APIの活用方法をご 紹介しました。 最近ようやくOrchestrator 2020
FTを個人的に構築してみたのですが、認証がIdentity Serverに統合されたよう で、OCの認証の処理シーケンスがOAuth/OpenID Connect 対応されていることが確認できました。 APIは認証のためアクセストークンを取得する必要があるのですが、外部システムがユーザからID/Passをもらうこ となくトークンのやりとりができるコトが確認できました。 なので、これからもっとAPI利用が加速すると思います! みんなでAPIを活用して、おもしろい機能や、OCに足 りない機能、便利な機能を開発してみましょう!
ちなみに
23 #UiPathFriends #UiFes @masatomix お客様の環境で、APIで設定を全部Excelファイルに出力するJavaScriptを実行 しようとしたら 「あ、黒い画面を起動してなんかツール起動するのダメね」 ということで、お客様の環境でつかえませんでした┐(‘〜`;)┌ おしまい じゃあ手で
やるしかないね
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 ご清聴ありが とうございま した